Beruflich Dokumente
Kultur Dokumente
**********BAPI WAY*********************************
DATA:
GD_DOCUMENTHEADER
LIKE BAPIACHE09,
GD_CUSTOMERCPD
LIKE BAPIACPA09,
GD_FICA_HD
LIKE BAPIACCAHD,
IT_ACCOUNTRECEIVABLE LIKE TABLE OF BAPIACAR09 WITH HEADER LINE,
IT_ACCOUNTGL
LIKE TABLE OF BAPIACGL09 WITH HEADER LINE,
IT_ACCOUNTTAX
LIKE TABLE OF BAPIACTX09 WITH HEADER LINE,
IT_CRITERIA
LIKE TABLE OF BAPIACKEC9 WITH HEADER LINE,
IT_VALUEFIELD
LIKE TABLE OF BAPIACKEV9 WITH HEADER LINE,
IT_CURRENCYAMOUNT
LIKE TABLE OF BAPIACCR09 WITH HEADER LINE,
IT_RETURN
LIKE TABLE OF BAPIRET2 WITH HEADER LINE,
IT_RECEIVERS
LIKE TABLE OF BDI_LOGSYS WITH HEADER LINE,
IT_FICA_IT
LIKE TABLE OF BAPIACCAIT WITH HEADER LINE,
IT_ACCOUNTPAYABLE
LIKE TABLE OF BAPIACAP09 WITH HEADER LINE,
IT_PAYMENTCARD
LIKE TABLE OF BAPIACPC09 WITH HEADER LINE,
IT_EXT
LIKE TABLE OF BAPIACEXTC WITH HEADER LINE,
IT_RE
LIKE TABLE OF BAPIACRE09 WITH HEADER LINE,
IT_EXT2
LIKE TABLE OF BAPIPAREX WITH HEADER LINE.
********************************************************
TYPE-POOLS: SLIS.
DATA: I_FIELDCAT
TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
dcat_alv WITH HEADER LINE,slis_t_fieldcat_alv
I_FIELDCAT_ALV TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
I_EVENTS
TYPE SLIS_T_EVENT,
"alv??
W_EVENTS
LIKE LINE OF I_EVENTS,
GD_TAB_GROUP TYPE SLIS_T_SP_GROUP_ALV,
*
gd_layout
TYPE lvc_s_layo,
"slis_layout_alv,
GD_LAYOUT
TYPE SLIS_LAYOUT_ALV,
USERCOMMAND
TYPE SLIS_FIELDNAME VALUE 'USERCOMMAND',
"slis_t_fiel
GD_REPID
*CONSTANTS:
* C_BEGIN_ROW
* C_BEGIN_COL
* C_END_ROW
* C_END_COL
LIKE SY-REPID.
TYPE
TYPE
TYPE
TYPE
I
I
I
I
VALUE
VALUE
VALUE
VALUE
1,
1,
9999,
55.
EXIT.
ENDIF.
"IF CC = 'X'.
PERFORM UPLOADDATA.
"ENDIF.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
HEADER_TOO_LONG
UNKNOWN_DP_ERROR
ACCESS_DENIED
DP_OUT_OF_MEMORY
DISK_FULL
DP_TIMEOUT
OTHERS
=
=
=
=
=
=
=
11
12
13
14
15
16
17
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
*
* CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
*
EXPORTING
*
filename
= l_pathname
*
i_begin_col
= c_begin_col
*
i_begin_row
= c_begin_row
*
i_end_col
= c_end_col
*
i_end_row
= c_end_row
*
TABLES
*
intern
= i_excel
*
EXCEPTIONS
*
inconsistent_parameters = 1
*
upload_ole
= 2
*
OTHERS
= 3.
* IF sy-subrc <> 0.
*
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
* ELSE.
*
IF i_excel[] IS INITIAL.
*
CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'
*
EXPORTING
**
DEFAULTOPTION
= 'Y'
*
diagnosetext1
= 'No data in excel'
**
DIAGNOSETEXT2
= ' '
**
DIAGNOSETEXT3
= ' '
*
textline1
= 'No data in excel'
**
TEXTLINE2
= ' '
*
titel
= 'Confirm'
**
START_COLUMN
= 25
**
START_ROW
= 6
**
CANCEL_DISPLAY
= 'X'
*
IMPORTING
*
answer
= l_answer.
*
ELSE.
*
DELETE i_excel WHERE row = '0001'.
*
SORT i_excel BY row col.
*
LOOP AT i_excel.
*
MOVE i_excel-col TO l_column.
*
ASSIGN COMPONENT l_column OF STRUCTURE ITAB TO <fs>.
*
MOVE i_excel-value TO <fs>.
*
AT END OF row.
*
APPEND ITAB.
*
CLEAR ITAB.
*
ENDAT.
*
ENDLOOP.
*
ENDIF.
* ENDIF.
ENDFORM.
"UPLOADDATA
*&---------------------------------------------------------------------*
*&
1.Execute user command
*&---------------------------------------------------------------------*
FORM USERCOMMAND USING UCOMM TYPE SY-UCOMM SELFIELD TYPE SLIS_SELFIELD.
*
CASE SY-UCOMM.
WHEN 'DELE'.
WHEN 'SCPZ'.
MESSAGE S001(00) WITH 'You want to do BAPI for this data'.
"PERFORM BAPI_EXEC.
ENDCASE.
ENDFORM.
"USER_COMMAND
*&---------------------------------------------------------------------*
*&
2.Form fields_build Set the report displays the list attribute informat
ion
*&---------------------------------------------------------------------*
FORM FIELDS_BUILD .
REFRESH I_FIELDCAT_ALV.
GD_REPID = SY-REPID.
CLEAR I_FIELDCAT.
DATA COLNUM TYPE I.
I_FIELDCAT-FIELDNAME = 'BLDAT'.
I_FIELDCAT-SELTEXT_S = 'Document Date'.
I_FIELDCAT-OUTPUTLEN = 15.
I_FIELDCAT-KEY = 'X'.
APPEND I_FIELDCAT TO I_FIELDCAT_ALV.
CLEAR I_FIELDCAT.
COLNUM = COLNUM + 1.
I_FIELDCAT-COL_POS =
I_FIELDCAT-FIELDNAME
I_FIELDCAT-SELTEXT_S
I_FIELDCAT-OUTPUTLEN
APPEND I_FIELDCAT TO
CLEAR I_FIELDCAT.
COLNUM.
= 'BUKRS'.
= 'Company Code'.
= 10.
I_FIELDCAT_ALV.
COLNUM = COLNUM + 1.
I_FIELDCAT-COL_POS = COLNUM.
I_FIELDCAT-FIELDNAME = 'WAERS'.
I_FIELDCAT-SELTEXT_S = 'Currency'.
* i_fieldcat-outputlen = 20.
* i_fieldcat-key = 'X'.
APPEND I_FIELDCAT TO I_FIELDCAT_ALV.
CLEAR I_FIELDCAT.
COLNUM = COLNUM + 1.
I_FIELDCAT-COL_POS =
I_FIELDCAT-FIELDNAME
I_FIELDCAT-SELTEXT_S
APPEND I_FIELDCAT TO
CLEAR I_FIELDCAT.
COLNUM.
= 'BUDAT'.
= 'Posting Date'.
I_FIELDCAT_ALV.
COLNUM = COLNUM + 1.
I_FIELDCAT-COL_POS = COLNUM.
I_FIELDCAT-FIELDNAME = 'XBLNR'.
I_FIELDCAT-SELTEXT_S = 'Reference'.
COLNUM.
= 'BKTXT'.
= 'Header Text'.
I_FIELDCAT_ALV.
COLNUM = COLNUM + 1.
I_FIELDCAT-COL_POS =
I_FIELDCAT-FIELDNAME
I_FIELDCAT-SELTEXT_S
APPEND I_FIELDCAT TO
CLEAR I_FIELDCAT.
COLNUM.
= 'BVORG'.
= 'Dealings document number'.
I_FIELDCAT_ALV.
COLNUM = COLNUM + 1.
I_FIELDCAT-COL_POS =
I_FIELDCAT-FIELDNAME
I_FIELDCAT-SELTEXT_S
APPEND I_FIELDCAT TO
CLEAR I_FIELDCAT.
COLNUM.
= 'HKONT'.
= 'Subject'.
I_FIELDCAT_ALV.
COLNUM = COLNUM + 1.
I_FIELDCAT-COL_POS =
I_FIELDCAT-FIELDNAME
I_FIELDCAT-SELTEXT_S
APPEND I_FIELDCAT TO
CLEAR I_FIELDCAT.
COLNUM.
= 'SHKZG'.
= 'Debit / credit'.
I_FIELDCAT_ALV.
COLNUM = COLNUM + 1.
I_FIELDCAT-COL_POS =
I_FIELDCAT-FIELDNAME
I_FIELDCAT-SELTEXT_S
APPEND I_FIELDCAT TO
CLEAR I_FIELDCAT.
COLNUM.
= 'WRBTR'.
= 'Currency'.
I_FIELDCAT_ALV.
COLNUM = COLNUM + 1.
I_FIELDCAT-COL_POS =
I_FIELDCAT-FIELDNAME
I_FIELDCAT-SELTEXT_S
APPEND I_FIELDCAT TO
CLEAR I_FIELDCAT.
COLNUM.
= 'MWSKZ'.
= 'Tax Code'.
I_FIELDCAT_ALV.
COLNUM = COLNUM + 1.
I_FIELDCAT-COL_POS =
I_FIELDCAT-FIELDNAME
I_FIELDCAT-SELTEXT_S
APPEND I_FIELDCAT TO
CLEAR I_FIELDCAT.
COLNUM.
= 'ZUONR'.
= 'Projects are assigned numbers'.
I_FIELDCAT_ALV.
COLNUM = COLNUM + 1.
I_FIELDCAT-COL_POS =
I_FIELDCAT-FIELDNAME
I_FIELDCAT-SELTEXT_S
APPEND I_FIELDCAT TO
CLEAR I_FIELDCAT.
COLNUM.
= 'SGTXT'.
= 'Item text'.
I_FIELDCAT_ALV.
COLNUM = COLNUM + 1.
I_FIELDCAT-COL_POS =
I_FIELDCAT-FIELDNAME
I_FIELDCAT-SELTEXT_S
APPEND I_FIELDCAT TO
CLEAR I_FIELDCAT.
COLNUM.
= 'KOSTL'.
= 'Cost Center'.
I_FIELDCAT_ALV.
COLNUM = COLNUM + 1.
I_FIELDCAT-COL_POS = COLNUM.
I_FIELDCAT-FIELDNAME = 'PRCTR'.
I_FIELDCAT-SELTEXT_S = 'Profit Center'.
APPEND I_FIELDCAT TO I_FIELDCAT_ALV.
CLEAR I_FIELDCAT.
ENDFORM.
"fields_build
*&---------------------------------------------------------------------*
*&
3.Form display_data To display ALV Form
*&---------------------------------------------------------------------*
FORM DISPLAY_DATA .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
*
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
*
i_callback_pf_status_set = 'PF_STATUS_SET'(001)
I_CALLBACK_PROGRAM
= GD_REPID
IS_LAYOUT
= GD_LAYOUT
IT_FIELDCAT
= I_FIELDCAT_ALV[]
IT_EVENTS
= I_EVENTS[]
" i_grid_title
= ''
I_CALLBACK_USER_COMMAND = USERCOMMAND
"3.Processing services
I_SAVE
= 'A'
I_CALLBACK_PF_STATUS_SET = 'TOOLBAR'
TABLES
T_OUTTAB
= ITAB.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
" display_data
*FORM BAPI_EXEC.
* Data: _row(3) type n.
* DATA: l_type LIKE gd_documentheader-obj_type,
*
l_key LIKE gd_documentheader-obj_key,
*
l_sys LIKE gd_documentheader-obj_sys.
*
*
* CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'
*
IMPORTING
*
own_logical_system = gd_documentheader-obj_sys.
*
* READ TABLE ITAB INDEX 1.
*
* gd_documentheader-obj_type = 'BKPFF'.
* gd_documentheader-obj_key
= '$'.
* gd_documentheader-username = SY-UNAME.
* gd_documentheader-header_txt = ITAB-BKTXT. "'BAPI Test'.
NOTEXT
* gd_documentheader-comp_code = ITAB-BUKRS. "'2000'.
* gd_documentheader-doc_type = 'SA'.
*" gd_documentheader-fisc_year = '2012'.
*" gd_documentheader-fis_period = '12'.
* gd_documentheader-doc_date = itab-bldat. "sy-datum.
"#EC
*
return
= it_return.
*
* COMMIT WORK.
*
* MESSAGE ID it_return-ID TYPE it_return-type NUMBER it_return-number WITH it_re
turn-message.
*
*
"PERFORM show_messages.
*ENDFORM.
*---------------------------------------------------------------------*
*
Form Show_messages
*---------------------------------------------------------------------*
FORM SHOW_MESSAGES.
*
*
*
*
*
*
IF IT_RETURN[] IS INITIAL.
WRITE: / 'no messages'.
ELSE.
SKIP 1.
LOOP AT IT_RETURN.
WRITE: /
IT_RETURN-TYPE,
(2) IT_RETURN-ID,
IT_RETURN-NUMBER,
(80) IT_RETURN-MESSAGE,
IT_RETURN-LOG_NO,
IT_RETURN-LOG_MSG_NO,
IT_RETURN-MESSAGE_V1,
IT_RETURN-MESSAGE_V2,
IT_RETURN-MESSAGE_V3,
IT_RETURN-MESSAGE_V4,
(20) IT_RETURN-PARAMETER,
(3) IT_RETURN-ROW,
IT_RETURN-FIELD.
IT_RETURN-SYSTEM
ENDLOOP.
ENDIF.
ULINE.
ENDFORM.
" Show_messages