05-12-2014 3:07 PM
Hi Experts,
I am getting error
Define the name of accounting transaction 0001 in language E |
while using BAPI_CASHJOURNALDOC_CREATE to upload the cash journals . So kindly assist me to rectify this.
Thanks ,
Suresh B
05-13-2014 11:26 AM
05-13-2014 11:26 AM
05-13-2014 11:30 AM
Not an ABAP-related problem, sounds like missing customizing. So lookup the message ID and number and read the corresponding message long text. Search for previous discussions of this error.
Maybe you can solve it yourself already. If not, post again in the correct space for the issue, e.g. ERP Financials.
Thomas
05-13-2014 12:13 PM
Hi ,
thanks for reply, Actually i am uploading the cash journal data using BAPI_CASHJOURNALDOC_CREATE ,so created the program and i am new to ABAP ,so i couldnt able able to find out the issue.the data is not getting uploaded .here is the code .
REPORT ZFI_CASHJOURNAL_UPLOAD NO STANDARD PAGE HEADING.
TYPES : BEGIN OF TY_HEADER,
COMP_CODE TYPE BUKRS, "Company Code
CAJO_NUMBER TYPE CJNR, "Cash Journal Number
CURRENCY TYPE WAERS, "Currency Key
"CURRENCY_ISO TYPE WAERS_ISO, "ISO code currency
DOC_DATE TYPE BLDAT, "Document Date in Document
PSTNG_DATE TYPE BUDAT, "Posting Date in the Document
REF_DOC_NO TYPE XBLNR1, "Reference Document Number
"BP_NAME TYPE CJBPNAME, "Name of Receipt Recipient
ALLOC_NMBR TYPE DZUONR, "Assignment Number
TEXT1 TYPE CJDOCTEXT100, "Additional Field 1 for Cash Journal Document Header
TEXT2 TYPE CJDOCTEXT30, "Additional Field 2 for Cash Journal Document Header
CHECK_NUMBER TYPE SCKNR_EB, "13-digit check number
"CHECK_ISSUER TYPE CJCHECKISSUER,"Check Issuer (Cash Journal)
"BANK_KEY TYPE BANKK, "Bank Keys
"BANK_ACCT TYPE BANKN, "Bank account number
"BANK_CTRY TYPE BANKS, "Bank country key
"BANK_CTRY_ISO TYPE BANKS_ISO, "Bank country key in ISO code
"SCBANK_IND TYPE LZBKZ, "State Central Bank Indicator
"SUPCOUNTRY TYPE LANDL, "Supplying Country
"SUPCOUNTRY_ISO TYPE LANDL_ISO, "Supplier country ISO code
END OF TY_HEADER.
TYPES : BEGIN OF TY_ITEM,
POSITION_NUMBER TYPE CJBUZEI,
TRANSACT_NUMBER TYPE CJTRANSNUMB,
P_RECEIPTS TYPE BAPIWRBTR,
P_PAYMENTS TYPE BAPIWRBTR,
P_NET_AMOUNT TYPE BAPIWRBTR,
GL_ACCOUNT TYPE HKONT,
TAX_CODE TYPE MWSKZ,
"TAXJURCODE TYPE TXJCD,
VENDOR_NO TYPE LIFNR,
CUSTOMER TYPE KUNNR,
POSITION_TEXT TYPE CJPOSTEXT,
"BUS_AREA TYPE GSBER,
"TR_PART_BA TYPE PARGB,
"TRADE_ID TYPE RASSC,
"CS_TRANS_T TYPE RMVCT,
"FUNC_AREA TYPE FKBER,
"CO_AREA TYPE KOKRS,
COSTCENTER TYPE KOSTL,
"ACTTYPE TYPE LSTAR,
"ORDERID TYPE AUFNR,
ORDER_ITNO TYPE CO_POSNR,
"CALC_MOTIVE TYPE BEMOT,
"COSTOBJECT TYPE KSTRG,
"CO_BUSPROC TYPE CO_PRZNR,
"PROFIT_CTR TYPE PRCTR,
"PART_PRCTR TYPE PPRCTR,
"WBS_ELEM TYPE PS_POSID,
"NETWORK TYPE NPLNR,
"ACTIVITY TYPE VORNR,
"ASSETMAINO TYPE BF_ANLN1,
"ASSETSUBNO TYPE BF_ANLN2,
"VALUEDATE TYPE BF_BZDAT,
"ASSETTRTYP TYPE BF_ANBWA,
PLANT TYPE WERKS_D,
"VAL_TYPE TYPE BWTAR_D,
"MATERIAL TYPE MATNR,
"SALES_ORD TYPE KDAUF,
SCHED_LINE TYPE KDEIN,
S_ORD_ITEM TYPE KDPOS,
"FM_AREA TYPE FIKRS,
"FUNDS_CTR TYPE FISTL,
"CMMT_ITEM TYPE FIPOS,
"FUND TYPE BP_GEBER,
"FUNDS_RES TYPE KBLNR_FI,
RES_ITEM TYPE KBLPOS,
PERSON_NO TYPE PERNR_D,
BUPLA TYPE BUPLA,
SECCO TYPE SECCO,
"MATERIAL_EXTERNAL TYPE MGV_MATERIAL_EXTERNAL,
"MATERIAL_GUID TYPE MGV_MATERIAL_GUID,
"MATERIAL_VERSION TYPE MGV_MATERIAL_VERSION,
"BUDGET_PERIOD TYPE FM_BUDGET_PERIOD,
END OF TY_ITEM,
BEGIN OF TY_MESSAGE,
LIGHT(4),
ID TYPE SYMSGID,
NUMBER TYPE SYMSGNO,
MESSAGE(480),
END OF TY_MESSAGE.
DATA: IT_FILE TYPE TABLE OF ALSMEX_TABLINE,
WA_FILE TYPE ALSMEX_TABLINE,
IT_HEADER TYPE TABLE OF TY_HEADER,
WA_HEADER TYPE TY_HEADER,
IT_ITEM TYPE TABLE OF TY_ITEM,
IT_MESSAGE TYPE TABLE OF TY_MESSAGE,
IT_FIELDCAT TYPE LVC_T_FCAT,
WA_LAYOUT TYPE LVC_S_LAYO,
WA_ITEM TYPE TY_ITEM.
DATA:WA_HEAD TYPE BAPI_CJ_HEADER,
WA_ITEMS TYPE BAPI_CJ_ITEMS,
IT_ITEMS TYPE TABLE OF BAPI_CJ_ITEMS,
IT_RETURN TYPE TABLE OF BAPIRET2.
FIELD-SYMBOLS:<FS_RETURN> TYPE BAPIRET2.
FIELD-SYMBOLS:<FS_MESSAGE> TYPE TY_MESSAGE,
<FS_FCAT> TYPE LVC_S_FCAT,
<FS_HEADER> TYPE TY_HEADER,
<FS_ITEM> TYPE TY_ITEM.
*-----------------------------------------------------------------------*
* SELECTION SCREEN
*-----------------------------------------------------------------------*
SELECTION-SCREEN:BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS:P_FILE TYPE RLGRAP-FILENAME.
SELECTION-SCREEN:END OF BLOCK B1.
*-----------------------------------------------------------------------*
* AT SELECTION SCREEN ON VALUE REQUEST
*-----------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
CHANGING
FILE_NAME = P_FILE
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ENDIF.
* CALL FUNCTION 'F4_FILENAME'
* EXPORTING
* FIELD_NAME = 'P_FILE'
* IMPORTING
* FILE_NAME = P_FILE.
*-----------------------------------------------------------------------*
* START OF SELECTION
*-----------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM GET_EXCEL_DATA.
IF IT_HEADER IS NOT INITIAL AND IT_ITEM IS NOT INITIAL.
PERFORM PROCESS_BAPI.
ENDIF.
IF IT_MESSAGE IS NOT INITIAL.
PERFORM DISPLAY_LOG.
ENDIF.
*&---------------------------------------------------------------------*
*& Form GET_EXCEL_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_EXCEL_DATA .
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_FILE
I_BEGIN_COL = '1'
I_BEGIN_ROW = '2'
I_END_COL = '29'
I_END_ROW = '65536'
TABLES
INTERN = IT_FILE
EXCEPTIONS ##FM_SUBRC_OK
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
* IF SY-SUBRC <> 0.
*
* ENDIF.
IF NOT IT_FILE IS INITIAL.
DELETE IT_FILE FROM WA_FILE WHERE ROW EQ '0001'.
LOOP AT IT_FILE INTO WA_FILE.
CASE WA_FILE-COL.
WHEN '0001'.
WA_HEADER-COMP_CODE = WA_FILE-VALUE.
WHEN '0002'.
WA_HEADER-CAJO_NUMBER = WA_FILE-VALUE.
WHEN '0003'.
WA_HEADER-CURRENCY = WA_FILE-VALUE.
* WHEN'0004'.
* WA_HEADER-CURRENCY_ISO = WA_FILE-VALUE.
WHEN '0004'.
CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
EXPORTING
DATE_EXTERNAL = WA_FILE-VALUE
IMPORTING
DATE_INTERNAL = WA_FILE-VALUE
EXCEPTIONS ##FM_SUBRC_OK
DATE_EXTERNAL_IS_INVALID = 1
OTHERS = 2.
CONCATENATE WA_FILE-VALUE+6(2) WA_FILE-VALUE+4(2) WA_FILE-VALUE+0(4)
INTO WA_FILE-VALUE.
WA_HEADER-DOC_DATE = WA_FILE-VALUE.
WHEN '0005'.
CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
EXPORTING
DATE_EXTERNAL = WA_FILE-VALUE
IMPORTING
DATE_INTERNAL = WA_FILE-VALUE
EXCEPTIONS ##FM_SUBRC_OK
DATE_EXTERNAL_IS_INVALID = 1
OTHERS = 2.
CONCATENATE WA_FILE-VALUE+6(2) WA_FILE-VALUE+4(2) WA_FILE-VALUE+0(4)
INTO WA_FILE-VALUE.
WA_HEADER-PSTNG_DATE = WA_FILE-VALUE.
WHEN '0006'.
WA_HEADER-REF_DOC_NO = WA_FILE-VALUE.
* WHEN '0008'.
* WA_HEADER-BP_NAME = WA_FILE-VALUE.
WHEN '0007'.
WA_HEADER-ALLOC_NMBR = WA_FILE-VALUE.
WHEN '0008'.
WA_HEADER-TEXT1 = WA_FILE-VALUE.
WHEN '0009'.
WA_HEADER-TEXT2 = WA_FILE-VALUE.
WHEN '0010'.
WA_HEADER-CHECK_NUMBER = WA_FILE-VALUE.
* WHEN '0013'.
* WA_HEADER-CHECK_ISSUER = WA_FILE-VALUE.
* WHEN '0014'.
* WA_HEADER-BANK_KEY = WA_FILE-VALUE.
* WHEN '0015'.
* "REPLACE ALL OCCURRENCES OF ',' IN WA_FILE-VALUE WITH SPACE.
* WA_HEADER-BANK_ACCT = WA_FILE-VALUE.
* WHEN '0016'.
* "REPLACE ALL OCCURRENCES OF ',' IN WA_FILE-VALUE WITH SPACE.
* WA_HEADER-BANK_CTRY = WA_FILE-VALUE.
* WHEN '0017'.
* WA_HEADER-BANK_CTRY_ISO = WA_FILE-VALUE.
* WHEN '0018'.
* WA_HEADER-SCBANK_IND = WA_FILE-VALUE.
* WHEN '0019'.
* WA_HEADER-SUPCOUNTRY = WA_FILE-VALUE.
* WHEN '0020'.
* WA_HEADER-SUPCOUNTRY_ISO = WA_FILE-VALUE.
WHEN '0011'.
WA_ITEM-POSITION_NUMBER = WA_FILE-VALUE.
WHEN '0012'.
WA_ITEM-TRANSACT_NUMBER = WA_FILE-VALUE.
WHEN '0013'.
REPLACE ALL OCCURRENCES OF ',' IN WA_FILE-VALUE WITH SPACE.
WA_ITEM-P_RECEIPTS = WA_FILE-VALUE.
WHEN '0014'.
REPLACE ALL OCCURRENCES OF ',' IN WA_FILE-VALUE WITH SPACE.
WA_ITEM-P_PAYMENTS = WA_FILE-VALUE.
WHEN '0015'.
REPLACE ALL OCCURRENCES OF ',' IN WA_FILE-VALUE WITH SPACE.
WA_ITEM-P_NET_AMOUNT = WA_FILE-VALUE.
WHEN '0016'.
WA_ITEM-GL_ACCOUNT = WA_FILE-VALUE.
WHEN '0017'.
WA_ITEM-TAX_CODE = WA_FILE-VALUE.
* WHEN '0028'.
* WA_ITEM-TAXJURCODE = WA_FILE-VALUE.
WHEN '0018'.
WA_ITEM-VENDOR_NO = WA_FILE-VALUE.
WHEN '0019'.
WA_ITEM-CUSTOMER = WA_FILE-VALUE.
WHEN '0020'.
WA_ITEM-POSITION_TEXT = WA_FILE-VALUE.
* WHEN '0032'.
* WA_ITEM-BUS_AREA = WA_FILE-VALUE.
* WHEN '0033'.
* WA_ITEM-TR_PART_BA = WA_FILE-VALUE.
* WHEN '0034'.
* WA_ITEM-TRADE_ID = WA_FILE-VALUE.
* WHEN '0035'.
* WA_ITEM-CS_TRANS_T = WA_FILE-VALUE.
* WHEN '0036'.
* WA_ITEM-FUNC_AREA = WA_FILE-VALUE.
* WHEN '0037'.
* WA_ITEM-CO_AREA = WA_FILE-VALUE.
WHEN '0021'.
WA_ITEM-COSTCENTER = WA_FILE-VALUE.
* WHEN '0039'.
* WA_ITEM-ACTTYPE = WA_FILE-VALUE.
* WHEN '0022'.
* WA_ITEM-ORDERID = WA_FILE-VALUE.
WHEN '0022'.
WA_ITEM-ORDER_ITNO = WA_FILE-VALUE.
* WHEN '0042'.
* WA_ITEM-CALC_MOTIVE = WA_FILE-VALUE.
* WHEN '0043'.
* WA_ITEM-COSTOBJECT = WA_FILE-VALUE.
* WHEN '0044'.
* WA_ITEM-CO_BUSPROC = WA_FILE-VALUE.
* WHEN '0024'.
* WA_ITEM-PROFIT_CTR = WA_FILE-VALUE.
* WHEN '0046'.
* WA_ITEM-PART_PRCTR = WA_FILE-VALUE.
* WHEN '0025'.
* WA_ITEM-WBS_ELEM = WA_FILE-VALUE.
* WHEN '0048'.
* WA_ITEM-NETWORK = WA_FILE-VALUE.
* WHEN '0049'.
* WA_ITEM-ACTIVITY = WA_FILE-VALUE.
* WHEN '0050'.
* WA_ITEM-ASSETMAINO = WA_FILE-VALUE.
* WHEN '0051'.
* WA_ITEM-ASSETSUBNO = WA_FILE-VALUE.
* WHEN '0052'.
* CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
* EXPORTING
* DATE_EXTERNAL = WA_FILE-VALUE
* IMPORTING
* DATE_INTERNAL = WA_FILE-VALUE
* EXCEPTIONS
* DATE_EXTERNAL_IS_INVALID = 1
* OTHERS = 2.
*
* CONCATENATE WA_FILE-VALUE+6(2) WA_FILE-VALUE+4(2) WA_FILE-VALUE+0(4)
* INTO WA_FILE-VALUE.
*
* WA_ITEM-VALUEDATE = WA_FILE-VALUE.
* WHEN '0053'.
* WA_ITEM-ASSETTRTYP = WA_FILE-VALUE.
WHEN '0023'.
WA_ITEM-PLANT = WA_FILE-VALUE.
* WHEN '0055'.
* WA_ITEM-VAL_TYPE = WA_FILE-VALUE.
* WHEN '0056'.
* WA_ITEM-MATERIAL = WA_FILE-VALUE.
* WHEN '0057'.
* WA_ITEM-SALES_ORD = WA_FILE-VALUE.
WHEN '0024'.
WA_ITEM-SCHED_LINE = WA_FILE-VALUE.
WHEN '0025'.
WA_ITEM-S_ORD_ITEM = WA_FILE-VALUE.
* WHEN '0060'.
* WA_ITEM-FM_AREA = WA_FILE-VALUE.
* WHEN '0061'.
* WA_ITEM-FUNDS_CTR = WA_FILE-VALUE.
* WHEN '0062'.
* WA_ITEM-CMMT_ITEM = WA_FILE-VALUE.
* WHEN '0063'.
* WA_ITEM-FUND = WA_FILE-VALUE.
* WHEN '0064'.
* WA_ITEM-FUNDS_RES = WA_FILE-VALUE.
WHEN '0026'.
WA_ITEM-RES_ITEM = WA_FILE-VALUE.
WHEN '0027'.
WA_ITEM-PERSON_NO = WA_FILE-VALUE.
WHEN '0028'.
WA_ITEM-BUPLA = WA_FILE-VALUE.
WHEN '0029'.
WA_ITEM-SECCO = WA_FILE-VALUE.
* WHEN '0069'.
* WA_ITEM-MATERIAL_EXTERNAL = WA_FILE-VALUE.
* WHEN '0070'.
* WA_ITEM-MATERIAL_GUID = WA_FILE-VALUE.
* WHEN '0071'.
* WA_ITEM-MATERIAL_VERSION = WA_FILE-VALUE.
* WHEN '0072'.
* WA_ITEM-BUDGET_PERIOD = WA_FILE-VALUE.
ENDCASE.
AT END OF ROW.
IF NOT WA_HEADER IS INITIAL.
APPEND WA_HEADER TO IT_HEADER.
CLEAR:WA_HEADER.
IF NOT WA_ITEM IS INITIAL.
APPEND WA_ITEM TO IT_ITEM.
CLEAR WA_ITEM.
ENDIF.
ENDIF.
ENDAT.
CLEAR WA_FILE.
ENDLOOP.
ELSE.
MESSAGE TEXT-002 TYPE 'I'.
LEAVE TO LIST-PROCESSING.
ENDIF.
ENDFORM. " GET_EXCEL_DATA
*&---------------------------------------------------------------------*
*& Form PROCESS_BAPI
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM PROCESS_BAPI .
DELETE ADJACENT DUPLICATES FROM IT_HEADER COMPARING ALL FIELDS.
LOOP AT IT_HEADER ASSIGNING <FS_HEADER>.
MOVE-CORRESPONDING <FS_HEADER> TO WA_HEAD.
LOOP AT IT_ITEM ASSIGNING <FS_ITEM>.
MOVE-CORRESPONDING <FS_ITEM> TO WA_ITEMS.
APPEND WA_ITEMS TO IT_ITEMS.
ENDLOOP.
CALL FUNCTION 'BAPI_CASHJOURNALDOC_CREATE'
EXPORTING
HEADER = WA_HEAD
TABLES
ITEMS = IT_ITEMS
RETURN = IT_RETURN.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = IT_RETURN.
*
* CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* WAIT = 'X'.
* IMPORTING
* RETURN = IT_RETURN.
LOOP AT IT_RETURN ASSIGNING <FS_RETURN>.
APPEND INITIAL LINE TO IT_MESSAGE ASSIGNING <FS_MESSAGE>.
IF <FS_RETURN>-TYPE EQ 'E'.
<FS_MESSAGE>-LIGHT = '@0A@'.
ELSEIF <FS_RETURN>-TYPE EQ 'S'.
<FS_MESSAGE>-LIGHT = '@08@'.
ELSE.
<FS_MESSAGE>-LIGHT = '@09@'.
ENDIF.
<FS_MESSAGE>-ID = <FS_RETURN>-ID.
<FS_MESSAGE>-NUMBER = <FS_RETURN>-NUMBER.
<FS_MESSAGE>-MESSAGE = <FS_RETURN>-MESSAGE.
ENDLOOP.
ENDLOOP.
ENDFORM. " PROCESS_BAPI
*&---------------------------------------------------------------------*
*& Form DISPLAY_LOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_LOG .
APPEND INITIAL LINE TO IT_FIELDCAT ASSIGNING <FS_FCAT>.
<FS_FCAT>-SCRTEXT_M = 'Message Type'.
<FS_FCAT>-COLDDICTXT = 'M'.
<FS_FCAT>-FIELDNAME = 'LIGHT'.
APPEND INITIAL LINE TO IT_FIELDCAT ASSIGNING <FS_FCAT>.
<FS_FCAT>-SCRTEXT_M = 'Message Class'.
<FS_FCAT>-COLDDICTXT = 'M'.
<FS_FCAT>-FIELDNAME = 'ID'.
APPEND INITIAL LINE TO IT_FIELDCAT ASSIGNING <FS_FCAT>.
<FS_FCAT>-SCRTEXT_M = 'Message Number'.
<FS_FCAT>-COLDDICTXT = 'M'.
<FS_FCAT>-FIELDNAME = 'NUMBER'.
APPEND INITIAL LINE TO IT_FIELDCAT ASSIGNING <FS_FCAT>.
<FS_FCAT>-SCRTEXT_M = 'Message Number'.
<FS_FCAT>-COLDDICTXT = 'M'.
<FS_FCAT>-FIELDNAME = 'MESSAGE'.
WA_LAYOUT-CWIDTH_OPT = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_GRID_TITLE = 'Message Log'
IT_FIELDCAT_LVC = IT_FIELDCAT
IS_LAYOUT_LVC = WA_LAYOUT
TABLES
T_OUTTAB = IT_MESSAGE
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
FREE: IT_MESSAGE, IT_HEADER, IT_ITEM, IT_FIELDCAT.
ENDIF.
ENDFORM. " DISPLAY_LOG
05-13-2014 12:14 PM
Please check the code once, and if i did any mistakes plz let me know.thanks in advance.....!
05-13-2014 12:23 PM
No thanks, too many lines, too little time...
I've taken your message text and found the message class F5A message 095. This has an explanatory long text:
"Define the accounting transaction names either in Customizing for Bank Accounting under Cash Journal -> Create, Change, Delete Accounting Transactions, or online from the Cash journal screen under Extras -> Change accounting transactions."
Now take this to your functional expert for cash journals. Either the customizing is incomplete, or you are filling the BAPI parameters incorrectly. Together you can find out.
Thomas
05-13-2014 12:28 PM