Monday, April 13, 2015

BDC for Mass Internal Order Creation - KO01

Make the file in txt format having the fields that are defined in the Structure below -
REPORT ZKO01 NO STANDARD PAGE HEADING LINE-SIZE 255.

*TYPES DECLARATION............................................*
DATA: W_FILENAME TYPE STRING.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-500.
PARAMETERS: P_FILENM LIKE RLGRAP-FILENAME.
SELECTION-SCREEN END OF BLOCK B1.

TABLES: INVFO.

TYPES : BEGIN OF ST,
          AUART(4),
          KTEXT(40),
          GSBER(4),
          WERKS(4),
          PRCTR(10),
          KOSTV(10),
          USER0(20),
          USER5(10),
          USER1(20),
          USER2(20),
          USER3(20),
          PRNAM(8),
          GJAHR(4),
          POSID(24),
        END OF ST.

*INTERNAL TABLE AND WORKAREA DECLARATION*
DATA : IT TYPE TABLE OF ST.
DATA : WA TYPE ST.

INCLUDE BDCRECX1.

START-OF-SELECTION.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILENM.

  CALL FUNCTION 'WS_FILENAME_GET'
       EXPORTING
            MASK             = ',*.*,*.*.'
            MODE             = '0'
            TITLE            = 'GET FILE NAME'
       IMPORTING
            FILENAME         = P_FILENM
       EXCEPTIONS
            INV_WINSYS       = 1
            NO_BATCH         = 2
            SELECTION_CANCEL = 3
            SELECTION_ERROR  = 4
            OTHERS           = 5.

** START OF CHANGE DCS05052003
START-OF-SELECTION.
 W_FILENAME = P_FILENM.
CALL FUNCTION 'GUI_UPLOAD'
  EXPORTING
**   FILENAME                    = 'C:\BDC_XLS_ASSIGN.TXT'
   FILENAME                      = W_FILENAME
   FILETYPE                      = 'ASC'
   HAS_FIELD_SEPARATOR           = 'X'
  TABLES
    DATA_TAB                     = IT
 EXCEPTIONS
   FILE_OPEN_ERROR               = 1
   FILE_READ_ERROR               = 2
   NO_BATCH                      = 3
   GUI_REFUSE_FILETRANSFER       = 4
   INVALID_TYPE                  = 5
   NO_AUTHORITY                  = 6
   UNKNOWN_ERROR                 = 7
   BAD_DATA_FORMAT               = 8
   HEADER_NOT_ALLOWED            = 9
   SEPARATOR_NOT_ALLOWED         = 10
   HEADER_TOO_LONG               = 11
   UNKNOWN_DP_ERROR              = 12
   ACCESS_DENIED                 = 13
   DP_OUT_OF_MEMORY              = 14
   DISK_FULL                     = 15
   DP_TIMEOUT                    = 16
   OTHERS                        = 17.

          .
IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO.
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

PERFORM OPEN_GROUP.

LOOP AT IT INTO WA.

PERFORM BDC_DYNPRO      USING 'SAPMKAUF' '0100'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'COAS-AUART'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '/00'.
PERFORM BDC_FIELD       USING 'COAS-AUART'
                              WA-AUART."'Z650'.
PERFORM BDC_DYNPRO  USING 'SAPMKAUF' '0600'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=BUT4'.
PERFORM BDC_FIELD       USING 'COAS-KTEXT'
                              WA-KTEXT."'NEW INTERNAL ORDER'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'COAS-KOSTV'.
PERFORM BDC_FIELD       USING 'COAS-BUKRS'
                              'XXXX'.
PERFORM BDC_FIELD       USING 'COAS-GSBER'
                              WA-GSBER."'1'.
PERFORM BDC_FIELD       USING 'COAS-WERKS'
                              WA-WERKS."'1000'.
PERFORM BDC_FIELD       USING 'COAS-SCOPE'
                              'INVST'.
PERFORM BDC_FIELD       USING 'COAS-PRCTR'
                              WA-PRCTR."'100'.
PERFORM BDC_FIELD       USING 'COAS-KOSTV'
                              WA-KOSTV."''.
PERFORM BDC_FIELD       USING 'COAS-ABUKR'
                              'XXXX'.
PERFORM BDC_DYNPRO      USING 'SAPMKAUF' '0600'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=BUT5'.
PERFORM BDC_FIELD       USING 'COAS-KTEXT'
                              WA-KTEXT."'NEW INTERNAL ORDER'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'COAS-USER5'.
PERFORM BDC_FIELD       USING 'COAS-USER0'
                              WA-USER0."''.
PERFORM BDC_FIELD       USING 'COAS-USER5'
                              WA-USER5."'08.04.2014'.
PERFORM BDC_FIELD       USING 'COAS-USER1'
                              WA-USER1."''.
PERFORM BDC_FIELD       USING 'COAS-USER2'
                              WA-USER2."''.
PERFORM BDC_FIELD       USING 'COAS-USER3'
                              WA-USER3."''.
PERFORM BDC_DYNPRO      USING 'SAPMKAUF' '0600'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=BUT2'.
PERFORM BDC_FIELD       USING 'COAS-KTEXT'
                              WA-KTEXT."'NEW INTERNAL ORDER'.
PERFORM BDC_FIELD       USING 'COAS-IVPRO'
                              'Z00003'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'RAIP1-POSID'.
PERFORM BDC_FIELD       USING 'RAIP1-PRNAM'
                              'XXXXX'.
PERFORM BDC_FIELD       USING 'RAIP1-GJAHR'
                              'XXXX'.
PERFORM BDC_FIELD       USING 'RAIP1-POSID'
                              WA-POSID." '.
PERFORM BDC_DYNPRO      USING 'SAPMKAUF' '0600'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=VARI'.
PERFORM BDC_FIELD       USING 'COAS-KTEXT'
                              WA-KTEXT."'NEW INTERNAL ORDER'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'COAS-WAERS'.
PERFORM BDC_FIELD       USING 'COAS-WAERS'
                              'INR'.
PERFORM BDC_DYNPRO      USING 'SAPMKAUF' '0600'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=SICH'.
PERFORM BDC_FIELD       USING 'COAS-KTEXT'
                              WA-KTEXT."'NEW INTERNAL ORDER'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'COAS-WAERS'.
PERFORM BDC_FIELD       USING 'COAS-WAERS'
                              'INR'.
PERFORM BDC_TRANSACTION USING 'KO01'.

ENDLOOP.

PERFORM CLOSE_GROUP.

Thursday, April 9, 2015

Reverse Cross Company Code Document - FBU8

Tocde for reversing the Cross Company Code Document is FBU8.

Enter the Cross Company Code Document or Document Number.
Enter Company Code and Fiscal Year.

Enter Reversal Reason and Posting Date.

Check by Simulating.
Found OK then POST the Entry.

BDC for Invoice to Customer FB70

Make the file in txt format having the fields that are defined in the Structure below -

REPORT ZFB70 NO STANDARD PAGE HEADING LINE-SIZE 255.

*TYPES DECLARATION............................................*
DATA: W_FILENAME TYPE STRING.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-500.
PARAMETERS: P_FILENM LIKE RLGRAP-FILENAME.
SELECTION-SCREEN END OF BLOCK B1.

TABLES: INVFO.

TYPES : BEGIN OF ST,

        ACCNT(17),
        BLDAT(10),
        BUDAT(10),
        CWRBTR(13),
        WAERS(5),
        BUPLA(4),
        SECCO(4),
        SGTXT(50),
        HKONT(10),
        DWRBTR(13),
        "MWSKZ(2),   Not Required
        "GSBER(4),   Not Required it will picked up from Cost Center
        KOSTL(10),
        "PRCTR(10),  Not Required it will picked up from Cost Center
        ZFBDT(10),

        END OF ST.

*INTERNAL TABLE AND WORKAREA DECLARATION*
DATA : IT TYPE TABLE OF ST.
DATA : WA TYPE ST.

INCLUDE BDCRECX1.

START-OF-SELECTION.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILENM.

  CALL FUNCTION 'WS_FILENAME_GET'
       EXPORTING
            MASK             = ',*.*,*.*.'
            MODE             = '0'
            TITLE            = 'GET FILE NAME'
       IMPORTING
            FILENAME         = P_FILENM
       EXCEPTIONS
            INV_WINSYS       = 1
            NO_BATCH         = 2
            SELECTION_CANCEL = 3
            SELECTION_ERROR  = 4
            OTHERS           = 5.

** START OF CHANGE DCS05052003
START-OF-SELECTION.
 W_FILENAME = P_FILENM.
CALL FUNCTION 'GUI_UPLOAD'
  EXPORTING
**   FILENAME                    = 'C:\BDC_XLS_ASSIGN.TXT'
   FILENAME                      = W_FILENAME
   FILETYPE                      = 'ASC'
   HAS_FIELD_SEPARATOR           = 'X'
  TABLES
    DATA_TAB                     = IT
 EXCEPTIONS
   FILE_OPEN_ERROR               = 1
   FILE_READ_ERROR               = 2
   NO_BATCH                      = 3
   GUI_REFUSE_FILETRANSFER       = 4
   INVALID_TYPE                  = 5
   NO_AUTHORITY                  = 6
   UNKNOWN_ERROR                 = 7
   BAD_DATA_FORMAT               = 8
   HEADER_NOT_ALLOWED            = 9
   SEPARATOR_NOT_ALLOWED         = 10
   HEADER_TOO_LONG               = 11
   UNKNOWN_DP_ERROR              = 12
   ACCESS_DENIED                 = 13
   DP_OUT_OF_MEMORY              = 14
   DISK_FULL                     = 15
   DP_TIMEOUT                    = 16
   OTHERS                        = 17.

          .
IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO.
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

PERFORM OPEN_GROUP.

LOOP AT IT INTO WA.

"---------------------------------------------------------------
PERFORM BDC_DYNPRO      USING 'SAPMF05A' '1200'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '/00'.
PERFORM BDC_FIELD       USING 'RF05A-BUSCS'
                              'R'.
PERFORM BDC_FIELD       USING 'INVFO-ACCNT'
                               WA-ACCNT."'63G63187'.
PERFORM BDC_FIELD       USING 'INVFO-BLDAT'
                               WA-BLDAT. "'31.01.2014'.
PERFORM BDC_FIELD       USING 'INVFO-BUDAT'
                               WA-BUDAT."'31.01.2014'.
PERFORM BDC_FIELD       USING 'INVFO-WRBTR'
                               WA-CWRBTR."'70000'.
PERFORM BDC_FIELD       USING 'INVFO-WAERS'
                               WA-WAERS."''.
PERFORM BDC_FIELD       USING 'INVFO-BUPLA'
                               WA-BUPLA."''.
PERFORM BDC_FIELD       USING 'INVFO-SECCO'
                               WA-SECCO."''.
PERFORM BDC_FIELD       USING 'INVFO-SGTXT'
                               WA-SGTXT."'TESTING FOR '.
PERFORM BDC_FIELD       USING 'ACGL_ITEM-HKONT(01)'
                               WA-HKONT."'505100'.
PERFORM BDC_FIELD       USING 'ACGL_ITEM-WRBTR(01)'
                               WA-DWRBTR."'            70000'.
PERFORM BDC_FIELD       USING 'ACGL_ITEM-MWSKZ(01)'
                               ''."WA-MWSKZ."'V0'.
PERFORM BDC_FIELD       USING 'ACGL_ITEM-GSBER(01)'
                               ''."WA-GSBER."''.
PERFORM BDC_FIELD       USING 'ACGL_ITEM-KOSTL(01)'
                               WA-KOSTL."'46301'.
PERFORM BDC_FIELD       USING 'ACGL_ITEM-PRCTR(01)'
                               ''."WA-PRCTR."'400'.
PERFORM BDC_DYNPRO      USING 'SAPMF05A' '1200'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '/00'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'INVFO-ZFBDT'.
PERFORM BDC_FIELD       USING 'INVFO-ZFBDT'
                               WA-ZFBDT."'31.01.2014'.
PERFORM BDC_DYNPRO      USING 'SAPMF05A' '1200'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=BS'.
PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                              'INVFO-ZFBDT'.
PERFORM BDC_FIELD       USING 'INVFO-ZFBDT'
                               WA-ZFBDT."'31.01.2014'.
PERFORM BDC_DYNPRO      USING 'SAPMSSY0' '0120'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=PS 18'.
PERFORM BDC_DYNPRO      USING 'SAPMSSY0' '0120'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=PS 37'.
PERFORM BDC_DYNPRO      USING 'SAPMSSY0' '0120'.
PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                              '=BU'.
PERFORM BDC_TRANSACTION USING 'FB70'.

ENDLOOP.

PERFORM CLOSE_GROUP.

SAP Devlopment Portal Link

1- Introduction and a few links to help people get started in the world of SAP
http://www.sapdev.co.uk/webapps/fiori/fiori-sapui5-intro.htm

2- Simple steps to create a custom search help(value help) for your web dynpro application
http://www.sapdev.co.uk/sap-webapps/sap-webdynpro/programmed-search-help.htm

Friday, April 3, 2015

Complete PA transfer structure FI

Copy the GL for which the error is coming and go to the T-Code KEI1

Select the PA transfer structure "FI".
Click on the "assignment lines" in the left panel and select the appropriate group on the right side and select source on the left and add the cost element in the error.
Further, you can assign the value field to this.