MB1C Upload Program Coding Block Screen

Dear Experts,
                   I have created an upload recording of mb1c transaction. After adding header data I have created it's classification entries. Recording has been created successfully. But; when I execute this recording to upload tab-delimited text file data, it shows a CODING BLOCK screen before the classification window opening. and return to header screen. Why this CODING BLOCK screen is appears; while during recording creation this screen does't appears.
Can Someone please suggests me a solution to skip CODING BLOCK screen.
Thanks and Regards,
Sohail

Coding Block Screen; that could be a Configuration problem. Me solved this problem through two uploads using MB1C and MSC1N.

Similar Messages

  • Problem with coding blocks

    Dear All,
    I am doing a BDC for  a particular transaction. The BDC program defaults some values. The problem is , at a particular screen the coding blocks screen was popping up..I did n't code this coding block screen..I want to supress that coding block screen. Client does n't wants the coding blocks screen.. Can some one help me to supress these coding blocks...
    Thanks in advance,
    King.

    BDC behave differently in background, so where ever coding block page comes out just key-in enter, you cannot surpress this value.
    Ex: BDC_OKCODE   "=ENTE"
    It will solve your problem.
    Reward points if useful.
    Regards,
    SaiRam

  • Coding block in BDC

    I have this BDC program with call transaction MB1B, while using dismode 'E', it works fine and create a matdoc, but for every material on the screen appears empty screen "coding block" and I have to push OK button in order to close this "coding block".
    How can I suppress "coding block" screen ?

    1. You can use simulate background mode while recording. To use the same in the program
        data w_ctu_params type ctu_params.
        w_ctu_params-dismode = 'H'.
        w_ctu_params-defsize = 'X'.
        w_ctu_params-nobiend = 'X'.
    call transaction 'MB1B'  using bdcdata options from w_ctu_params.
    Refer to the wiki link
    https://wiki.sdn.sap.com/wiki/display/ABAP/BatchInput-+BDC
    2. You can use BAPI_GOODSMVT_CREATE. You can refer the documentation for more details or search in the forum.
    Hope it helps.
    Sujay
    Edited by: Sujay Venkateswaran Krishnakumar on Sep 5, 2010 4:47 PM

  • Embed coding block into initial post w. clearing trans

    Hi
    How can i embed the fields from coding block into the data item in the FB05 transaction so that poeple dont get the coding block displayed as a independent follow up screen?
    When we use the f-02 transaction the field costcenter is already included in the item screen so there is no pop of the coding block screen but when you try to do it from FB05 costcenter is not included in the item screen so it gives you the pop up with costcenter.

    Hi JM
    Like Alec said we need to see your folder structure, before we can comment on your path structure; clearly HTMLResources/js/jquery.js is correct, it's what comes before that could be the problem.
    cheers
    Alistair
    P.S take a look at this from the Adobe docs; you can see from these how the path structure changes depending on what you are doing.
    InDesign source document
    In the URL field of either a hyperlink or button, enter the path without http://, navto://, or any other prefix. Example:HTMLResources/Cartoons/train1.html
    HTML article
    From an HTML article, specify the location. Example: <a href="../HTMLResources/Cartoons/train1">See Train Cartoon Gallery</a>
    Web Content overlay
    Web Content overlays are nested two levels deeper than an HTML article. Example: <a href="../../../HTMLResources/Cartoons/train1">See Train Cartoon Gallery</a>

  • BDC Program for MB1B Screen..

    Hi Abapers..
    I am doing BDC Upload program using MB1B Screen. I put the receiving bin but the following error coming..
    " CALL_TRANSACTION MB1B Return code = 1,001 RECORD: 0
    S The Receiving batch will be automatically set to G02
    W Batch G02 has already been posted in stock
    S No batch input data for screen SAPLKACB 0002"
    What is the error? how to rectify that error. anybody please give the solution of this problem.
    Give me source code for this bdc program for MB1B Screen.
    This is very urgent I will give reward points..
    Thanks
    S.Muthu.

    Hi Siddu,
             Thanks Very much. My Solution solved by You. I given reward points.
    Thanks a lot.
    I created BAPI_GOODSMVT_CREATE now its working.
    Regards,
    S.Muthu.

  • Coding Block in LSMW recording via MB1C

    Doing Inventory load by LSMW, when recording with T.Code MB1C, in 2nd screen getting a "coding Block". How to go around it it.

    through LSMW the MB1C Recording not support, you can go for below standard methods like
    Batch Input
    Object               0110   Goods movement
    Method               0000
    Program Name         RM07MMBL
    Program Type         B   Batch Input
    or BAPI method
    Business Object      BUS2017      Goods Movement
    Method               CREATEFROMDATA              Post Goods Movement
    Message Type         MBGMCR                      Post goods movements with MB1c
    Basic Type           MBGMCR03                    Post Goods Movements with MB1C

  • Getting Coding Blocked Error while recording MB1C

    Hi,
    While recording TCode MB1C when I enter the material number and quantity and press Enter I get a message "Coding Blocked". When I click on OK I'm able to proceed further. But, when I'm not recoding I'am able to make entries in the same without this message. Is it okay to record MB1C even if I get this message. I don't know the reason why I get this message.
    Please help.
    Regards,
    Sriram.

    Hi,
    the t-codes MB1B and MB1C need to record with Not a Batch input session..
    try this way..
    go to SHDB > create new record> etner t-code MB1C and check Not a Batch input session and record..
    later in the coding assign the field not bacth input session = 'X" and default screen size..
    prabhudas

  • FB01 BDC Program Posting Error in a coding block

    Hi,
    I am trying to write a BDC for fb01 transaction with posting key 31 and 40.
    But I am getting a coding block as a popup in FB01 trsanction on screen number 'SAPLKACB' '0002'.
    I am passing costcentre and Internal Order and then passing an Enter f code for this...But still i am getting a message that Input data not passed to this screen..
    If i run this in All screen mode by manually putting enter its working if i try to put an enter programatically its not working..
    Your Answers will be Appreciated..
    Please let me know if you come across this any time..
    Thanks
    Srinivasa

    Hi,
    I personally feel that instead of doing a BDC for accounting document post using FB01, please use the BAPI - bapi_acc_document_post
    Regards,
    Sridevi

  • Coding block in BDC program Tcode F-63

    Hello Techies,
                        Please help me in removing coding block in execution of BDC program for F-63, it is asking me to put Business Area. 

    Harshal, can you provide more details? It seems like you BDC is missing some mandatory field and you either need to get that from your input file or thru some other logic in your program.
    Vikram.M

  • Coding Block for BDC MB1C

    Hi Experts,
    While running BDC for T-code MB1C i am getting error pop-up as coding block and its skipping the batch and its getting stop there..
    Please help me to resolve the issue...

    hi,
    check these.
    [https://forums.sdn.sap.com/click.jspa?searchID=19561287&messageID=6660067]
    [https://forums.sdn.sap.com/click.jspa?searchID=19561287&messageID=3308056]
    [https://forums.sdn.sap.com/click.jspa?searchID=19561287&messageID=3196807]

  • Upload program

    Hi,
    Iam getting one problem regarding debit note upload program  
    when i was done the entry profit center field was coming but when i was done it in SHDB recording the profit cneter was not coming then we double click the more dat then one pop up window is coming . i dont want that pop window i want fiel in that screen can u please tell me any body
    and when iam upload the file on that particlura g/l is came the meassage was come like this
    field COBL-KOSTL  Does not exist in the screen  SAPLKACB0002
    PLZ TELL ME THE  SOLUTION
    Thanks & regards
    Jyotsna

    Profit center is available in coding block only and you need to record this. You cannot skip this if you want the feild.

  • How to Upload Program Source Code

    Hello,
    i have a program which downloads the source code into text files.
    I need to create all these into another server.
    so i need a program to upload these programs.
    Any idea how to it? Thanks in advance.
    Thanks&Regards,
    Sayanna Damerla

    Try this custom code:
    Upload and Download ABAP Source Code
    Source Code Listing
    Report: ZKBPROGS             *
    Function   : Up/Download ABAP reports complete with texts            *
            - this program does not update TRDIR with the                *
              TRDIR entries that are in the program uploaded.  Instead,  *
              current users stats are used.          *
            - this program allows selection of reports from a list or    *
              a single report can be tuped in and uploaded               *
            - this program also updates TADIR so that a development class*
              is assigned to the program             *
            - this program checks to see if the program already has a    *
              TRDIR entry, and if it does, warns the user                *
            - this program will save/restore the program documenation too*
    REPORT ZKBPROGS
           NO STANDARD PAGE HEADING
           LINE-SIZE  255.
    Declare Database Objects     *
    tables:
      DOKIL,
      TRDIR.
    Constants*
    CONSTANTS:
      MC_TRDIR_IDENTIFIER(72)  TYPE C VALUE '%&%& RDIR',
      MC_REPORT_IDENTIFIER(72) TYPE C VALUE '%&%& REPO',
      MC_TEXT_IDENTIFIER(72)   TYPE C VALUE '%&%& TEXP',
      MC_THEAD_IDENTIFIER(72)  TYPE C VALUE '%&%& HEAD',
      MC_DOC_IDENTIFIER(72)    TYPE C VALUE '%&%& DOKL',
      MC_TRDIR_SHORT(4)        TYPE C VALUE 'RDIR',
      MC_REPORT_SHORT(4)       TYPE C VALUE 'REPO',
      MC_TEXT_SHORT(4)         TYPE C VALUE 'TEXP',
      MC_THEAD_SHORT(4)        TYPE C VALUE 'HEAD',
      MC_DOC_SHORT(4)          TYPE C VALUE 'DOKP'.
    Declare Module level data structures             *
    DATA: BEGIN OF MTAB_PROGRAM_SOURCE OCCURS 0,
            LINE(72) TYPE C,
          END OF MTAB_PROGRAM_SOURCE.
    DATA: MTAB_PROGRAM_TRDIR LIKE TRDIR OCCURS 0 WITH HEADER LINE.
    DATA: MTAB_PROGRAM_TEXTS LIKE TEXTPOOL OCCURS 0 WITH HEADER LINE.
    DATA: MSTR_THEAD LIKE THEAD.
    DATA: BEGIN OF MTAB_PROGRAM_FILE OCCURS 0,
            LINE(275) TYPE C,
          END OF MTAB_PROGRAM_FILE.
    DATA: BEGIN OF MTAB_DIRECTORY OCCURS 0,
            NAME LIKE TRDIR-NAME,
            DESC(72) TYPE C,
            SAVENAME LIKE RLGRAP-FILENAME,
          END OF MTAB_DIRECTORY.
    DATA: BEGIN OF MTAB_PROGRAM_DOCUMENTATION OCCURS 0,
            LINE(255) TYPE C,
          END OF MTAB_PROGRAM_DOCUMENTATION.
    Selection Screen             *
    *-- Options for upload/download of programs
    SELECTION-SCREEN BEGIN OF BLOCK FRM_OPTIONS WITH FRAME TITLE TEXT-UDL.
    PARAMETERS:
      RB_DOWN RADIOBUTTON GROUP UDL DEFAULT 'X'.       " Download reports
    SELECTION-SCREEN BEGIN OF BLOCK FRM_TRDIR WITH FRAME TITLE TEXT-DIR.
    SELECT-OPTIONS:
      S_NAME  FOR TRDIR-NAME,              " Program Name
      S_SUBC  FOR TRDIR-SUBC               " Program Type
              DEFAULT 'F' OPTION EQ SIGN E," Exclude Functions by default
      S_CNAM  FOR TRDIR-CNAM               " Created by
              DEFAULT SY-UNAME,
      S_UNAM  FOR TRDIR-UNAM,              " Last Changed by
      S_CDAT  FOR TRDIR-CDAT,              " Creation date
      S_UDAT  FOR TRDIR-UDAT.              " Last update date
    SELECTION-SCREEN END OF BLOCK FRM_TRDIR.
    *-- Options for uploading programs
    PARAMETERS:
      RB_UP   RADIOBUTTON GROUP UDL.       " Upload reports
    SELECTION-SCREEN BEGIN OF BLOCK FRM_UPLOAD WITH FRAME TITLE TEXT-UPL.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(29) TEXT-SNG.
    PARAMETERS:
      RB_FILE RADIOBUTTON GROUP HOW DEFAULT 'X'.
    SELECTION-SCREEN COMMENT 33(42) TEXT-FNA.
    SELECTION-SCREEN END OF LINE.
    PARAMETERS:
      RB_LIST RADIOBUTTON GROUP HOW.
    SELECTION-SCREEN END OF BLOCK FRM_UPLOAD.
    SELECTION-SCREEN END OF BLOCK FRM_OPTIONS.
    *-- Options for up/downloading programs
    SELECTION-SCREEN BEGIN OF BLOCK FRM_FILEN WITH FRAME TITLE TEXT-FIL.
    PARAMETERS:
      RB_DOS  RADIOBUTTON GROUP FIL DEFAULT 'X', " Save to local
      RB_UNIX RADIOBUTTON GROUP FIL,       " Save to UNIX
      P_PATH  LIKE RLGRAP-FILENAME         " Path to save files to
            DEFAULT 'c:\temp\'.
    SELECTION-SCREEN END OF BLOCK FRM_FILEN.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_NAME-LOW.
      CALL FUNCTION 'F4_PROGRAM'
           EXPORTING
                OBJECT             = S_NAME-LOW
                SUPPRESS_SELECTION = 'X'
           IMPORTING
                RESULT             = S_NAME-LOW
           EXCEPTIONS
                OTHERS             = 1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_NAME-HIGH.
      CALL FUNCTION 'F4_PROGRAM'
           EXPORTING
                OBJECT             = S_NAME-HIGH
                SUPPRESS_SELECTION = 'X'
           IMPORTING
                RESULT             = S_NAME-HIGH
           EXCEPTIONS
                OTHERS             = 1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_UNAM-LOW.
      PERFORM GET_NAME USING 'S_UNAM-LOW'
                    CHANGING S_UNAM-LOW.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_UNAM-HIGH.
      PERFORM GET_NAME USING 'S_UNAM-HIGH'
                    CHANGING S_UNAM-HIGH.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_CNAM-LOW.
      PERFORM GET_NAME USING 'S_CNAM-LOW'
                    CHANGING S_CNAM-LOW.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_CNAM-HIGH.
      PERFORM GET_NAME USING 'S_CNAM-HIGH'
                    CHANGING S_CNAM-HIGH.
    TOP-OF-PAGE.
      IF RB_LIST = 'X'.
        FORMAT COLOR COL_HEADING.
        NEW-LINE.
        WRITE: AT 3 TEXT-H01,
               AT 15 TEXT-H03.
        FORMAT COLOR OFF.
      ENDIF.
    AT LINE-SELECTION.
      CHECK RB_LIST = 'X'.                 " only do in list mode
      READ LINE SY-CUROW FIELD VALUE MTAB_DIRECTORY-SAVENAME.
    *-- Read file into an internal table
      PERFORM READ_REPORT_FROM_DISK TABLES MTAB_PROGRAM_FILE
                USING  MTAB_DIRECTORY-SAVENAME.
    *-- Split table into TADIR entry, report lines, and report text
      PERFORM SPLIT_INCOMING_FILE TABLES MTAB_PROGRAM_FILE
                     MTAB_PROGRAM_SOURCE
                     MTAB_PROGRAM_TEXTS
                     MTAB_PROGRAM_DOCUMENTATION
            CHANGING TRDIR
                     MSTR_THEAD.
    *-- Save all of the data
      PERFORM INSERT_NEW_REPORT TABLES MTAB_PROGRAM_SOURCE
                   MTAB_PROGRAM_TEXTS
                   MTAB_PROGRAM_DOCUMENTATION
            USING  TRDIR
                   MSTR_THEAD.
    Start of processing          *
    START-OF-SELECTION.
      FORMAT COLOR COL_NORMAL.
      IF RB_DOWN = 'X'.
        PERFORM DOWNLOAD_REPORTS.
      ELSEIF RB_UP = 'X'.
        PERFORM UPLOAD_REPORTS.
      ENDIF.
    END-OF-SELECTION.
      IF RB_DOWN = 'X'.
        CONCATENATE P_PATH
                    'directory.txt'
          INTO P_PATH.
        PERFORM SAVE_TABLE_TO_FILE TABLES MTAB_DIRECTORY
               USING  P_PATH.
      ENDIF.
          FORM UPLOAD_REPORTS   *
    FORM UPLOAD_REPORTS.
    *-- Can upload a reports entered in selection criteria or
    *-- select from a list.  List can be from index.txt in same directory
    *-- (created by the download) or by reading the first line of each file
    *-- in the directory.
      IF RB_FILE = 'X'. " Upload single program from a file
    *-- Read file into an internal table
        PERFORM READ_REPORT_FROM_DISK TABLES MTAB_PROGRAM_FILE
                  USING  P_PATH.
    *-- Split table into TADIR entry, report lines, and report text
        PERFORM SPLIT_INCOMING_FILE TABLES MTAB_PROGRAM_FILE
                       MTAB_PROGRAM_SOURCE
                       MTAB_PROGRAM_TEXTS
                       MTAB_PROGRAM_DOCUMENTATION
              CHANGING TRDIR
                       MSTR_THEAD.
    *-- Save all of the data
        PERFORM INSERT_NEW_REPORT TABLES MTAB_PROGRAM_SOURCE
                     MTAB_PROGRAM_TEXTS
                     MTAB_PROGRAM_DOCUMENTATION
              USING  TRDIR
                     MSTR_THEAD.
      ELSEIF RB_LIST = 'X'. " Show list for user to choose from
    *-- get list of report names/descriptions from directory text
        CONCATENATE P_PATH
                    'directory.txt'
        INTO P_PATH.
        PERFORM READ_REPORT_FROM_DISK TABLES MTAB_DIRECTORY
                  USING  P_PATH.
        SORT MTAB_DIRECTORY.
    *-- Write out list of report names/descriptions
        LOOP AT MTAB_DIRECTORY.
          WRITE:
            / MTAB_DIRECTORY-NAME UNDER TEXT-H01,
              MTAB_DIRECTORY-DESC UNDER TEXT-H03,
              MTAB_DIRECTORY-SAVENAME.
        ENDLOOP.
    *-- Process user selections for reports to upload.
      ENDIF.
    ENDFORM.           " upload_reports
          FORM DOWNLOAD_REPORTS *
          From the user selections, get all programs that meet the      *
          criteria, and save them in ftab_program_directory.            *
          Also save the report to disk.             *
    FORM DOWNLOAD_REPORTS.
      DATA:
        LC_FULL_FILENAME LIKE RLGRAP-FILENAME.
    *-- The table is put into an internal table because the program will
    *-- abend if multiple transfers to a dataset occur within a SELECT/
    *-- ENDSELCT (tested on 3.1H)
      SELECT * FROM  TRDIR
             INTO TABLE MTAB_PROGRAM_TRDIR
             WHERE  NAME  IN S_NAME
             AND    SUBC  IN S_SUBC
             AND    CNAM  IN S_CNAM
             AND    UNAM  IN S_UNAM
             AND    CDAT  IN S_CDAT
             AND    UDAT  IN S_UDAT.
      LOOP AT MTAB_PROGRAM_TRDIR.
    *-- Clear out text and source code tables
        CLEAR:
          MTAB_PROGRAM_FILE,
          MTAB_PROGRAM_SOURCE,
          MTAB_PROGRAM_TEXTS,
          MTAB_PROGRAM_DOCUMENTATION.
        REFRESH:
          MTAB_PROGRAM_FILE,
          MTAB_PROGRAM_SOURCE,
          MTAB_PROGRAM_TEXTS,
          MTAB_PROGRAM_DOCUMENTATION.
    *-- Get the report
        READ REPORT MTAB_PROGRAM_TRDIR-NAME INTO MTAB_PROGRAM_SOURCE.
    *-- Get the text for the report
        READ TEXTPOOL MTAB_PROGRAM_TRDIR-NAME INTO MTAB_PROGRAM_TEXTS.
    *-- Get the documentation for the report
        CLEAR DOKIL.
        SELECT * UP TO 1 ROWS FROM DOKIL
               WHERE  ID          = 'RE'
               AND    OBJECT      = MTAB_PROGRAM_TRDIR-NAME
               AND    LANGU       = SY-LANGU
               AND    TYP         = 'E'
               ORDER BY VERSION DESCENDING.
        ENDSELECT.
    *-- Documentation exists for this object
        IF SY-SUBRC = 0.
          CALL FUNCTION 'DOCU_READ'
               EXPORTING
                    ID      = DOKIL-ID
                    LANGU   = DOKIL-LANGU
                    OBJECT  = DOKIL-OBJECT
                    TYP     = DOKIL-TYP
                    VERSION = DOKIL-VERSION
               IMPORTING
                    HEAD    = MSTR_THEAD
               TABLES
                    LINE    = MTAB_PROGRAM_DOCUMENTATION
               EXCEPTIONS
                    OTHERS  = 1.
        ENDIF.
    *-- Put the report code and texts into a single file
    *-- Put the identifier line in so that the start of the TRDIR line
    *-- is marked
        CONCATENATE MC_TRDIR_IDENTIFIER
        MTAB_PROGRAM_TRDIR-NAME
        INTO MTAB_PROGRAM_FILE-LINE.
        APPEND MTAB_PROGRAM_FILE.
    *-- Add the TRDIR line
        MTAB_PROGRAM_FILE-LINE = MTAB_PROGRAM_TRDIR.
        APPEND MTAB_PROGRAM_FILE.
    *-- Put the identifier line in so that the start of the report code
    *-- is marked
        CONCATENATE MC_REPORT_IDENTIFIER
                    MTAB_PROGRAM_TRDIR-NAME
          INTO MTAB_PROGRAM_FILE-LINE.
        APPEND MTAB_PROGRAM_FILE.
    *-- Add the report code
        LOOP AT MTAB_PROGRAM_SOURCE.
          MTAB_PROGRAM_FILE = MTAB_PROGRAM_SOURCE.
          APPEND MTAB_PROGRAM_FILE.
        ENDLOOP.
    *-- Put the identifier line in so that the start of the report text
    *-- is marked
        CONCATENATE MC_TEXT_IDENTIFIER
                    MTAB_PROGRAM_TRDIR-NAME
          INTO MTAB_PROGRAM_FILE-LINE.
        APPEND MTAB_PROGRAM_FILE.
    *-- Add the report texts
        LOOP AT MTAB_PROGRAM_TEXTS.
          MTAB_PROGRAM_FILE = MTAB_PROGRAM_TEXTS.
          APPEND MTAB_PROGRAM_FILE.
        ENDLOOP.
    *-- Put the identifier line in so that the start of the THEAD record
    *-- is marked
        CONCATENATE MC_THEAD_IDENTIFIER
                    MTAB_PROGRAM_TRDIR-NAME
          INTO MTAB_PROGRAM_FILE-LINE.
        APPEND MTAB_PROGRAM_FILE.
        MTAB_PROGRAM_FILE = MSTR_THEAD.
        APPEND MTAB_PROGRAM_FILE.
    *-- Put the identifier line in so that the start of the report
    *-- documentation is marked
        CONCATENATE MC_DOC_IDENTIFIER
                    MTAB_PROGRAM_TRDIR-NAME
          INTO MTAB_PROGRAM_FILE-LINE.
        APPEND MTAB_PROGRAM_FILE.
    *-- Add the report documentation
        LOOP AT MTAB_PROGRAM_DOCUMENTATION.
          MTAB_PROGRAM_FILE = MTAB_PROGRAM_DOCUMENTATION.
          APPEND MTAB_PROGRAM_FILE.
        ENDLOOP.
    *-- Make the fully pathed filename that report will be saved to
        CONCATENATE P_PATH
                    MTAB_PROGRAM_TRDIR-NAME
                    '.txt'
          INTO LC_FULL_FILENAME.
        PERFORM SAVE_TABLE_TO_FILE TABLES MTAB_PROGRAM_FILE
               USING  LC_FULL_FILENAME.
    *-- Write out message with Program Name/Description
        READ TABLE MTAB_PROGRAM_TEXTS WITH KEY ID = 'R'.
        IF SY-SUBRC = 0.
          MTAB_DIRECTORY-NAME = MTAB_PROGRAM_TRDIR-NAME.
          MTAB_DIRECTORY-DESC = MTAB_PROGRAM_TEXTS-ENTRY.
          MTAB_DIRECTORY-SAVENAME = LC_FULL_FILENAME.
          APPEND MTAB_DIRECTORY.
          WRITE: / MTAB_PROGRAM_TRDIR-NAME,
                   MTAB_PROGRAM_TEXTS-ENTRY(65) COLOR COL_HEADING.
        ELSE.
          MTAB_DIRECTORY-NAME = MTAB_PROGRAM_TRDIR-NAME.
          MTAB_DIRECTORY-DESC = 'No description available'.
          MTAB_DIRECTORY-SAVENAME = LC_FULL_FILENAME.
          APPEND MTAB_DIRECTORY.
          WRITE: / MTAB_PROGRAM_TRDIR-NAME.
        ENDIF.
      ENDLOOP.
    ENDFORM.           " BUILD_PROGRAM_DIRECTORY
          FORM SAVE_TABLE_TO_FILE                   *
    -->  FTAB_TABLE            *
    -->  F_FILENAME            *
    FORM SAVE_TABLE_TO_FILE TABLES FTAB_TABLE
        USING  F_FILENAME.
      IF RB_DOS = 'X'.                  " Save file to presentation server
        CALL FUNCTION 'WS_DOWNLOAD'
             EXPORTING
                  FILENAME = F_FILENAME
                  FILETYPE = 'ASC'
             TABLES
                  DATA_TAB = FTAB_TABLE
             EXCEPTIONS
                  OTHERS   = 4.
        IF SY-SUBRC NE 0.
          WRITE: / 'Error opening dataset' COLOR COL_NEGATIVE,
                   F_FILENAME COLOR COL_NEGATIVE.
        ENDIF.
      ELSE.            " Save file to application server
        OPEN DATASET F_FILENAME FOR OUTPUT IN TEXT MODE.
        IF SY-SUBRC = 0.
          LOOP AT FTAB_TABLE.
            TRANSFER FTAB_TABLE TO F_FILENAME.
            IF SY-SUBRC NE 0.
              WRITE: / 'Error writing record to file;' COLOR COL_NEGATIVE,
                       F_FILENAME COLOR COL_NEGATIVE.
            ENDIF.
          ENDLOOP.
        ELSE.
          WRITE: / 'Error opening dataset' COLOR COL_NEGATIVE,
                   F_FILENAME COLOR COL_NEGATIVE.
        ENDIF.
      ENDIF.           " End RB_DOS
    ENDFORM.           " SAVE_PROGRAM
          FORM READ_REPORT_FROM_DISK                *
          Read report into internal table.  Can read from local or      *
          remote computer       *
    FORM READ_REPORT_FROM_DISK TABLES FTAB_TABLE
           USING  F_FILENAME.
      DATA:
         LC_MESSAGE(128) TYPE C.
      CLEAR   FTAB_TABLE.
      REFRESH FTAB_TABLE.
      IF RB_DOS = 'X'.
        TRANSLATE F_FILENAME USING '/\'.   " correct slash for Dos PC file
        CALL FUNCTION 'WS_UPLOAD'
             EXPORTING
                  FILENAME            = F_FILENAME
                  FILETYPE            = 'ASC'
             TABLES
                  DATA_TAB            = FTAB_TABLE
             EXCEPTIONS
                  CONVERSION_ERROR    = 1
                  FILE_OPEN_ERROR     = 2
                  FILE_READ_ERROR     = 3
                  INVALID_TABLE_WIDTH = 4
                  INVALID_TYPE        = 5
                  NO_BATCH            = 6
                  UNKNOWN_ERROR       = 7
                  OTHERS              = 8.
        IF SY-SUBRC >< 0.
          WRITE: / 'Error reading file from local PC' COLOR COL_NEGATIVE.
        ENDIF.
      ELSEIF RB_UNIX = 'X'.
        TRANSLATE F_FILENAME USING '\/'.   " correct slash for unix
        OPEN DATASET F_FILENAME FOR INPUT MESSAGE LC_MESSAGE IN TEXT MODE.
        IF SY-SUBRC = 0.
          DO.
            READ DATASET F_FILENAME INTO FTAB_TABLE.
            IF SY-SUBRC = 0.
              APPEND FTAB_TABLE.
            ELSE.
              EXIT.
            ENDIF.
          ENDDO.
          CLOSE DATASET F_FILENAME.
        ELSE.
          WRITE: / 'Error reading file from remote computer'
      COLOR COL_NEGATIVE,
                 / LC_MESSAGE,
                 / F_FILENAME.
          SY-SUBRC = 4.
        ENDIF.
      ENDIF.
    ENDFORM.           " READ_REPORT_FROM_DISK
          FORM SPLIT_INCOMING_FILE                  *
    -->  FTAB_PROGRAM_FILE     *
    -->  FTAB_PROGRAM_SOURCE   *
    -->  ` *
    -->  FTAB_PROGRAM_TEXTS    *
    FORM SPLIT_INCOMING_FILE TABLES FTAB_PROGRAM_FILE
                     STRUCTURE MTAB_PROGRAM_FILE
                FTAB_PROGRAM_SOURCE
                     STRUCTURE MTAB_PROGRAM_SOURCE
                FTAB_PROGRAM_TEXTS
                     STRUCTURE MTAB_PROGRAM_TEXTS
                FTAB_PROGRAM_DOCUMENTATION
                    STRUCTURE MTAB_PROGRAM_DOCUMENTATION
       CHANGING FSTR_TRDIR
                FSTR_THEAD.
      DATA:
        LC_DATATYPE(4) TYPE C,             " Type of data, REPO, TEXP, RDIR
        LC_PROGRAM_FILE LIKE MTAB_PROGRAM_FILE.
      LOOP AT FTAB_PROGRAM_FILE.
        LC_PROGRAM_FILE = FTAB_PROGRAM_FILE.
        CASE LC_PROGRAM_FILE(9).
          WHEN MC_TRDIR_IDENTIFIER.
            LC_DATATYPE = MC_TRDIR_SHORT.
          WHEN MC_REPORT_IDENTIFIER.
            LC_DATATYPE = MC_REPORT_SHORT.
          WHEN MC_TEXT_IDENTIFIER.
            LC_DATATYPE = MC_TEXT_SHORT.
          WHEN MC_DOC_IDENTIFIER.
            LC_DATATYPE = MC_DOC_SHORT.
          WHEN MC_THEAD_IDENTIFIER.
            LC_DATATYPE = MC_THEAD_SHORT.
          WHEN OTHERS. " Actual contents of report, trdir, or text
            CASE LC_DATATYPE.
              WHEN MC_TRDIR_SHORT.
                FSTR_TRDIR = FTAB_PROGRAM_FILE.
              WHEN MC_REPORT_SHORT.
                FTAB_PROGRAM_SOURCE = FTAB_PROGRAM_FILE.
                APPEND FTAB_PROGRAM_SOURCE.
              WHEN MC_TEXT_SHORT.
                FTAB_PROGRAM_TEXTS = FTAB_PROGRAM_FILE.
                APPEND FTAB_PROGRAM_TEXTS.
              WHEN MC_THEAD_SHORT.
                FSTR_THEAD = FTAB_PROGRAM_FILE.
              WHEN MC_DOC_SHORT.
                FTAB_PROGRAM_DOCUMENTATION = FTAB_PROGRAM_FILE.
                APPEND FTAB_PROGRAM_DOCUMENTATION.
            ENDCASE.
        ENDCASE.
      ENDLOOP.
    ENDFORM.           " SPLIT_INCOMING_FILE
          FORM INSERT_NEW_REPORT*
    -->  FTAB_PROGRAM_SOURCE   *
    -->  FTAB_PROGRAM_TEXTS    *
    -->  F_TRDIR               *
    FORM INSERT_NEW_REPORT TABLES FTAB_PROGRAM_SOURCE
                  STRUCTURE MTAB_PROGRAM_SOURCE
              FTAB_PROGRAM_TEXTS
                   STRUCTURE MTAB_PROGRAM_TEXTS
              FTAB_PROGRAM_DOCUMENTATION
                   STRUCTURE MTAB_PROGRAM_DOCUMENTATION
       USING  FSTR_TRDIR LIKE TRDIR
              FSTR_THEAD LIKE MSTR_THEAD.
      DATA:
        LC_OBJ_NAME LIKE E071-OBJ_NAME,
        LC_LINE2(40)     TYPE C,
        LC_ANSWER(1)     TYPE C.
    *-- read trdir to see if the report already exists, if it does, prompt
    *-- user to overwrite or abort.
      SELECT SINGLE * FROM TRDIR WHERE NAME = FSTR_TRDIR-NAME.
      IF SY-SUBRC = 0. " Already exists
        CONCATENATE 'want to overwrite report'
                    FSTR_TRDIR-NAME
          INTO LC_LINE2 SEPARATED BY SPACE.
        CONCATENATE LC_LINE2
          INTO LC_LINE2.
        CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
             EXPORTING
                  DEFAULTOPTION  = 'N'
                  TEXTLINE1   = 'The selected report already exists, do you'
                  TEXTLINE2      = LC_LINE2
                  TITEL          = 'Report already exists'
                  CANCEL_DISPLAY = SPACE
             IMPORTING
                  ANSWER         = LC_ANSWER
             EXCEPTIONS
                  OTHERS         = 1.
      ELSE.
        LC_ANSWER = 'J'.
      ENDIF.
      IF LC_ANSWER = 'J'.
    *-- Create the TADIR entry.  (TRDIR entry created by INSERT REPORT)
        LC_OBJ_NAME = TRDIR-NAME.
        CALL FUNCTION 'TR_TADIR_POPUP_ENTRY_E071'
             EXPORTING
                  WI_E071_PGMID     = 'R3TR'
                  WI_E071_OBJECT    = 'PROG'
                  WI_E071_OBJ_NAME  = LC_OBJ_NAME
                  WI_TADIR_DEVCLASS = '$TMP'
             EXCEPTIONS
                  EXIT              = 3
                  OTHERS            = 4.
        IF SY-SUBRC = 0.
    *-- Create Report
          INSERT REPORT FSTR_TRDIR-NAME FROM FTAB_PROGRAM_SOURCE.
    *-- Create Texts
          INSERT TEXTPOOL FSTR_TRDIR-NAME FROM FTAB_PROGRAM_TEXTS
                 LANGUAGE SY-LANGU.
    *-- Save Documentation
          CALL FUNCTION 'DOCU_UPDATE'
               EXPORTING
                    HEAD    = FSTR_THEAD
                    STATE   = 'A'
                    TYP     = 'E'
                    VERSION = '1'
               TABLES
                    LINE    = FTAB_PROGRAM_DOCUMENTATION
               EXCEPTIONS
                    OTHERS  = 1.
        ELSE.
          WRITE: / 'Error updating the TADIR entry' COLOR COL_NEGATIVE,
                   'Program' COLOR COL_NEGATIVE INTENSIFIED OFF,
                   FSTR_TRDIR-NAME, 'was not loaded into SAP.'
                      COLOR COL_NEGATIVE INTENSIFIED OFF.
        ENDIF.
      ELSE.
        WRITE: / FSTR_TRDIR-NAME COLOR COL_NEGATIVE,
                 'was not uploaded into SAP.  Action cancelled by user'
                     COLOR COL_NEGATIVE INTENSIFIED OFF.
      ENDIF.
    ENDFORM.           " INSERT_NEW_REPORT
          FORM GET_NAME         *
    -->  VALUE(F_FIELD)        *
    -->  F_NAME                *
    FORM GET_NAME USING VALUE(F_FIELD)
               CHANGING F_NAME.
      DATA: LTAB_FIELDS LIKE DYNPREAD OCCURS 0 WITH HEADER LINE,
            LC_PROG LIKE D020S-PROG,
            LC_DNUM LIKE D020S-DNUM.
      TRANSLATE F_FIELD TO UPPER CASE.
      refresh ltab_fields.
      LTAB_FIELDS-FIELDNAME = F_FIELD.
      append ltab_fields.
      LC_PROG =  SY-REPID .
      LC_DNUM =  SY-DYNNR .
      CALL FUNCTION 'DYNP_VALUES_READ'
           EXPORTING
                DYNAME     = LC_PROG
                DYNUMB     = LC_DNUM
           TABLES
                dynpfields = ltab_fields
           EXCEPTIONS
                OTHERS     = 01.
      read table ltab_fields index 1.
      IF SY-SUBRC EQ 0.
        F_NAME = LTAB_FIELDS-FIELDVALUE.
        refresh ltab_fields.
      ENDIF.
      CALL FUNCTION 'F4_USER'
           EXPORTING
                OBJECT = F_NAME
           IMPORTING
                RESULT = F_NAME.
    ENDFORM.           " GET_NAME
    Program Texts
    DIR             File Download Options (File Selection)
    FIL             File Options     
    FNA             Enter filename below (under File Options)
    H01             Prog Name
    H03             Program Description
    SNG             Upload a single file
    UDL             Upload to SAP/Download from SAP
    UPL             File Upload Options
    R               Backup/Restore program source code with texts
    P_PATH          Path to save programs to
    RB_DOS          Files on local computer
    RB_DOWN         Download Programs
    RB_FILE         Upload a single file
    RB_LIST         Select program(s) from a list          
    RB_UNIX         Files on remote computer               
    RB_UP           Upload Programs to SAP                 
    S_CDAT          Date Created       
    S_CNAM          Created by UserID  
    S_NAME          Program Name       
    S_SUBC          Program Type       
    S_UDAT          Date Changed       
    S_UNAM          Last Changed by UserID     
    Regards,
    Joy.

  • Upload Program(sap-abap)

    Hi Friends,
        I am using existing program to upload data(MM01 - BASIC VIEW ).But one of the field(MARA-BISMT) for old material number is neither uploading to transaction nor database.I have to uoload for other views(Purchasing, Accounting and so on) also which are depended on this old material number field.
         Secondly, Functional guy suggest me to add some of the fileds into it which are not available in upload structure.
    Could you guide me how to fix this issue in below code and upload data safely ?
    * Description : Migration Program for Material Master Basic View
    * Using xls-structure in Migration Overview: MM-Basic View
    * NAME           SR    DATE        VER. XLS  DESCRIPTION OF VERSION
    *           8804  04.05.2008  1.0  1.0  Original program
    *           8804  27.05.2004  1.1  1.0  Changed check for pack size
    *                                            multi pack size, EAN no,
    *                                            does not write to initial
    *                                            bdc_fields FORMT and FERTH
    *           8804  09.06.2006  1.2  1.0  added flag for intercompany
    *                      materials on converting table, also changed FM
    *                      ZMM_ADD_OLD_MATNR_TO_CONV_TABL
    REPORT  z_basic.
    * Structure for batch input
    CONSTANTS: c_structure TYPE tabname VALUE 'ZMM_BASIC_VIEW'.
    TABLES: makt, t006a, t024l, t002, zpmg, zsf1, zsf2, zsf3, zsf4, zsf5,
            zdrc, zdkb, zcce, zpsz, zcns, zusz, zatc, zmsz, t006, tntp, t179
    * Internal Tables
    DATA: i_data TYPE STANDARD TABLE OF zmm_basic_view.
    DATA: i_spras TYPE STANDARD TABLE OF makt-spras.
    * selection screen
    SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.
    PARAMETERS: p_file(128) DEFAULT 'U:\My Documents\mm_basic.txt'.
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_mode LIKE ctu_params-dismode DEFAULT 'N'.
    PARAMETERS: p_test NO-DISPLAY DEFAULT 'X'.
    SELECTION-SCREEN END OF BLOCK block1.
    INCLUDE Z_BASIC_A.
    *INCLUDE zmigration.
    * START-OF-SELECTION
    START-OF-SELECTION.
      PERFORM upload_file.
      PERFORM check_entries.
      PERFORM add_icons.
      IF p_test NE 'X'.
        PERFORM update.
        update_run = 'X'.
      ENDIF.
      PERFORM show_result.
    *&      Form  UPDATE
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM update.
      CALL FUNCTION 'ZMM_BASIC'
           EXPORTING
                mode   = p_mode
           TABLES
                i_data = i_data
                i_mess = i_mess.
    * update conversion table for materials where SAP-number already
    * exists and material description also already exist for language in
    * field SPRAS_2. This will only happen for inter company materials.
      LOOP AT i_data INTO wa_data WHERE zman_update EQ 'X'.
        CALL FUNCTION 'ZMM_ADD_OLD_MATNR_TO_CONV_TABL'
             EXPORTING
                  zzomp         = wa_data-old_matnr
                  werks         = '54'  " dummy plant
                  matnr         = wa_data-matnr
                  bismt         = wa_data-old_matnr
                  inter_company = 'X'.
        wa_data-msgtx = 'Conversion table for material updated'.
        wa_data-msgtyp = 'I'.
        WRITE icon_led_yellow AS ICON TO wa_data-icon.
        MODIFY i_data FROM wa_data TRANSPORTING icon msgtyp msgtx.
      ENDLOOP.
    ENDFORM.                    " UPDATE
    *&      Form  SHOW_RESULT
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM show_result.
      PERFORM generate_fieldcatalog.
      PERFORM hide_blank_fields.
      PERFORM unhide_message_columns.
      PERFORM move_message_columns.
    *  PERFORM add_sorting_to_grid. " sort by first column in file
      IF called_screen_100 EQ space.
        called_screen_100 = 'X'.
        CALL SCREEN 100.
      ENDIF.
    ENDFORM.                    " SHOW_RESULT
    *&      Form  check_entries
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM check_entries.
      DATA: wa_find_new_material TYPE zfind_new_material_number.
      LOOP AT i_data INTO wa_data.
    *   if file has been downloaded, it may already contain messages
        CLEAR: wa_data-icon,
               wa_data-msgtyp,
               wa_data-msgtx.
        TRANSLATE wa_data-spras_2 TO UPPER CASE.
        TRANSLATE wa_data-meins TO UPPER CASE.
        TRANSLATE wa_data-gewei TO UPPER CASE.
        TRANSLATE wa_data-voleh TO UPPER CASE.
        TRANSLATE wa_data-zzcce TO UPPER CASE.
    *   If the material already exists, only texts should be maintained
        IF NOT wa_data-matnr IS INITIAL.
    *     Required fields filled?
          CASE space.
            WHEN wa_data-spras_2.
              wa_data-msgtx = 'Field language key (SPRAS_2) is required'.
            WHEN wa_data-maktx_2.
             wa_data-msgtx = 'Field mat. description (MAKTX_2) is required'.
          ENDCASE.
    *     Set old_matnr to SAP number if it is not filled
          IF wa_data-old_matnr IS INITIAL.
            wa_data-old_matnr = wa_data-matnr.
          ENDIF.
          IF wa_data-msgtx EQ space.
    *     Language key allowed
            SELECT SINGLE * FROM  t002
                   WHERE  spras  = wa_data-spras_2.
            IF sy-subrc NE 0.
              wa_data-msgtx = 'Language key does not exist (spras_2)'.
            ENDIF.
          ENDIF.
          IF wa_data-msgtx IS INITIAL.
            SHIFT wa_data-matnr RIGHT DELETING TRAILING space.
            OVERLAY wa_data-matnr WITH '000000000000000000'.
            SELECT SINGLE * FROM  makt
                   WHERE  matnr  EQ wa_data-matnr
                   AND    spras  EQ wa_data-spras_2.
            IF sy-subrc EQ 0.
              CONCATENATE 'Mat. description already exists for language'
                          wa_data-spras_2
                          INTO wa_data-msgtx SEPARATED BY space.
              MOVE 'X' TO wa_data-zman_update.
            ENDIF.
          ENDIF.
    *     Change material - Find line to insert the new description.
          IF wa_data-msgtx IS INITIAL.
            SELECT spras
                   INTO TABLE i_spras
                   FROM  makt
                   WHERE  matnr  = wa_data-matnr.
            DESCRIBE TABLE i_spras LINES l_lines.
            IF l_lines > 3.
    *       All screen fields for descriptions are filled - Must be updated
    *       manually -
    *      ( or add code to insert into MAKT in an other way... )
              wa_data-msgtx =
    'Description must be added manually - only 4 lines available on screen'.
              wa_data-zman_update = 'X'.
    *       added to converting table after update run
            ENDIF.
          ENDIF.
        ELSE.
    *     Check if required fields are filled
          CASE space.
            WHEN wa_data-spras_2.
              wa_data-msgtx = 'Field language key (SPRAS_2) is required'.
            WHEN wa_data-maktx_1.
             wa_data-msgtx = 'Field mat. description (MAKTX_1) is required'.
            WHEN wa_data-maktx_2.
             wa_data-msgtx = 'Field mat. description (MAKTX_2) is required'.
            WHEN wa_data-mbrsh.
              wa_data-msgtx = 'Field Industry sector (mbrsh) is required'.
            WHEN wa_data-mtart.
              wa_data-msgtx = 'Field Material type (mtart) is required'.
            WHEN wa_data-meins.
           wa_data-msgtx = 'Field Base unit of measure (meins) is required'.
            WHEN wa_data-prdha.
              wa_data-msgtx = 'Field Product hierarchy (prdha) is required'.
            WHEN wa_data-labor.
              wa_data-msgtx = 'Field Laboratory design (labor) is required'.
          ENDCASE.
    *     Values allowed?
          IF wa_data-msgtx EQ space.
    *     Base unit of measure
            SELECT SINGLE * FROM  t006a
                   WHERE  spras  = sy-langu
                   AND    mseh3  = wa_data-meins.
            IF sy-subrc NE 0.
              wa_data-msgtx = 'Base unit of measure does not exist (mseh3)'.
            ENDIF.
          ENDIF.
          IF wa_data-msgtx EQ space.
    *     Lab./Office
            SELECT SINGLE * FROM  t024l
                   WHERE  labor  = wa_data-labor.
            IF sy-subrc NE 0.
              wa_data-msgtx = 'Lab./Office does not exist (labor)'.
            ENDIF.
          ENDIF.
          IF wa_data-msgtx EQ space.
    *     Language key
            SELECT SINGLE * FROM  t002
                   WHERE  spras  = wa_data-spras_2.
            IF sy-subrc NE 0.
              wa_data-msgtx = 'Language key does not exist (spras_2)'.
            ENDIF.
          ENDIF.
          IF wa_data-msgtx EQ space.
    *     Product hierarchy
            SELECT SINGLE * FROM  t179
                   WHERE  prodh  = wa_data-prdha.
            IF sy-subrc NE 0.
              wa_data-msgtx = 'Product hierarchy does not exist (PRDHA)'.
            ENDIF.
          ENDIF.
          IF wa_data-msgtx EQ space AND NOT wa_data-zzpmg IS INITIAL.
    *     ProdMatGrp (ABC ind)
            SELECT SINGLE * FROM  zpmg
                   WHERE  zzpmg  = wa_data-zzpmg.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'ProdMatGrp (ABC ind) does not exist (zzpmg)'.
            ENDIF.
          ENDIF.
          IF wa_data-msgtx EQ space AND NOT wa_data-zzsf1 IS INITIAL.
    *     Sort field 1
            SELECT SINGLE * FROM  zsf1
                   WHERE  zzsf1  = wa_data-zzsf1.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'Sort field 1 does not exist (ZZSF1)'.
            ENDIF.
          ENDIF.
          IF wa_data-msgtx EQ space AND NOT wa_data-zzsf2 IS INITIAL.
    *     Sort field 2
            SELECT SINGLE * FROM  zsf2
                   WHERE  zzsf2  = wa_data-zzsf2.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'Sort field 2 does not exist (ZZSF2)'.
            ENDIF.
          ENDIF.
          IF wa_data-msgtx EQ space AND NOT wa_data-zzsf3 IS INITIAL.
    *     Sort field 3
            SELECT SINGLE * FROM  zsf3
                   WHERE  zzsf3  = wa_data-zzsf3.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'Sort field 3 does not exist (ZZSF3)'.
            ENDIF.
          ENDIF.
          IF wa_data-msgtx EQ space AND NOT wa_data-zzsf4 IS INITIAL.
    *     Sort field 4
            SELECT SINGLE * FROM  zsf4
                   WHERE  zzsf4  = wa_data-zzsf4.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'Sort field 4 does not exist (ZZSF4)'.
            ENDIF.
          ENDIF.
          IF wa_data-msgtx EQ space AND NOT wa_data-zzsf5 IS INITIAL.
    *     Sort field 5
            SELECT SINGLE * FROM  zsf5
                   WHERE  zzsf5  = wa_data-zzsf5.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'Sort field 5 does not exist (ZZSF5)'.
            ENDIF.
          ENDIF.
    *     Drug Code
          IF wa_data-msgtx EQ space AND NOT wa_data-zzdrc IS INITIAL.
            SELECT SINGLE * FROM  zdrc
                   WHERE  zzdrc  = wa_data-zzdrc.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'Drug Code does not exist (zzdrc)'.
            ENDIF.
          ENDIF.
    *     Narco Base
          IF wa_data-msgtx EQ space AND NOT wa_data-zzdkb IS INITIAL.
            SELECT SINGLE * FROM  zdkb
                   WHERE  zzdkb  = wa_data-zzdkb.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'Narco Base does not exist (zzdkb)'.
            ENDIF.
          ENDIF.
    *     Country code, Emscope standard
          IF wa_data-msgtx EQ space AND NOT wa_data-zzcce IS INITIAL.
            SELECT SINGLE * FROM  zcce
                   WHERE  zzcce  = wa_data-zzcce.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'Country code, Emscope standard does not exist (zzcce)'.
            ENDIF.
          ENDIF.
    *     Package size
          IF wa_data-msgtx EQ space AND NOT wa_data-zzpsz IS INITIAL.
            CONDENSE wa_data-zzpsz.
            SELECT SINGLE * FROM  zpsz
                   WHERE  zzpsz  = wa_data-zzpsz.
            IF sy-subrc NE 0.
              wa_data-msgtx = 'Package size does not exist (zzpsz)'.
            ENDIF.
          ENDIF.
    *     Concentration
          IF wa_data-msgtx EQ space AND NOT wa_data-zzcns IS INITIAL.
            SELECT SINGLE * FROM  zcns
                   WHERE  zzcns  = wa_data-zzcns.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'Concentration does not exist (ZZCNS)'.
            ENDIF.
          ENDIF.
    *     Unit Size
          IF wa_data-msgtx EQ space AND NOT wa_data-zzusz IS INITIAL.
            SELECT SINGLE * FROM  zusz
                   WHERE  zzusz  = wa_data-zzusz.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'Unit Size does not exist (ZZUSZ)'.
            ENDIF.
          ENDIF.
    *     ATC-no.
          IF wa_data-msgtx EQ space AND NOT wa_data-zzatc IS INITIAL.
            SELECT SINGLE * FROM  zatc
                   WHERE  zzatc  = wa_data-zzatc.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'ATC-no. does not exist (ZZATC)'.
            ENDIF.
          ENDIF.
    *     Multi pack size
          IF wa_data-msgtx EQ space AND NOT wa_data-zzmsz IS INITIAL.
            CONDENSE wa_data-zzmsz.
            SELECT SINGLE * FROM  zmsz
                   WHERE  zzmsz  = wa_data-zzmsz.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'Multi pack size does not exist (ZZMSZ)'.
            ENDIF.
          ENDIF.
    *     Weight Unit
          IF wa_data-msgtx EQ space AND NOT wa_data-gewei IS INITIAL.
            SELECT SINGLE * FROM  t006
                   WHERE  msehi  = wa_data-gewei.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'Weight Unit does not exist (GEWEI)'.
            ENDIF.
          ENDIF.
    *     Volume Unit
          IF wa_data-msgtx EQ space AND NOT wa_data-voleh IS INITIAL.
            SELECT SINGLE * FROM  t006
                   WHERE  msehi  = wa_data-voleh.
            IF sy-subrc NE 0.
              wa_data-msgtx =
              'Volume Unit does not exist (VOLEH)'.
            ENDIF.
          ENDIF.
    *     EAN for Germany will be entered manually by Cato.
          if wa_data-ean11 ne space and wa_data-msgtx eq space.
            data: l_ean_length type i.
            l_ean_length = strlen( wa_data-ean11 ).
            if l_ean_length ne 13 or wa_data-matnr ne space.
              wa_data-msgtx =
            'Enter EAN numbers manually for Germany and common materials'.
            elseif wa_data-numtp is initial.
              wa_data-msgtx = 'EAN category must be given for EAN number'.
            endif.
          endif.
          if wa_data-ean11 eq space and wa_data-numtp ne space.
    *       Makes no sense to have an EAN category when there is no EAN
            clear: wa_data-numtp.
          endif.
        ENDIF.  "   IF NOT wa_data-matnr IS INITIAL.
    *   Has material already been migrated?
        IF wa_data-msgtx EQ space and wa_data-msgtyp ne 'W'.
          CLEAR: wa_find_new_material.
          MOVE: wa_data-old_matnr TO wa_find_new_material-matnr_old,
                '54' TO wa_find_new_material-werks.
          CALL FUNCTION 'ZFIND_NEW_MATERIAL_NUMBER'
               EXPORTING
                    get_from_marc = space
               CHANGING
                    wa_data       = wa_find_new_material.
          IF NOT wa_find_new_material-matnr IS INITIAL.
            CONCATENATE: 'Material already created:'
                         wa_find_new_material-matnr
              INTO wa_data-msgtx
              SEPARATED BY space.
            wa_data-msgtyp = 'E'.
          ENDIF.
        ENDIF.
    *   Set all messages that are not Warning to Error
        IF wa_data-msgtx NE space AND wa_data-msgtyp EQ space.
          MOVE: 'E' TO wa_data-msgtyp.
        ENDIF.
        MODIFY i_data FROM wa_data.
      ENDLOOP.
    ENDFORM.                    " check_entries
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE user_command_0100 INPUT.
      DATA: local_commands.
      PERFORM user_commands_local CHANGING local_commands.
      IF local_commands EQ 'X'.
    *   local user command has been executed - clear ok_code
        CLEAR ok_code.
      ELSE.
        PERFORM user_commands.
      ENDIF.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Form  user_commands_local
    *       text
    *      <--P_LOCAL_COMMANDS  text
    FORM user_commands_local CHANGING p_local_commands.
    * Add your own user commands here and overwrite default handling if
    * necessary
      DATA: local_ok TYPE ok.
      local_commands = 'X'.
      local_ok = ok_code.
      CASE local_ok.
        WHEN OTHERS.
          CLEAR: local_commands.
      ENDCASE.
    ENDFORM.                    " user_commands_local
    Pls treat it as urgent.
    I ll reward for usefull response.
    Thx in Adv.
    Bobby

    Hi,
       I didn't recieve any response from you regarding issues in upload program.
       Could you pls send some solution for this issue ?
       Pls treat it as urgent.
    Thx in Adv.
    Bobby

  • Coding block fields in recurring documents

    I have a recurring document created with some coding block fields.During the entry (FBD1)  ,those fields are open and was able to enter the data .During display (FBD3),the data is there.But when I posted some documents(Batch session) using the reference document,the coding block data is not populated on the actual document.I checked SAPF120 and SAPF120G programs and both are active.What could be the problem and why the data in those coding block fields are not getting populated on the actual documents?Thanks

    I also facing the same problem of, how to add customer fields to Vendor/Customer entry screen. For me, i already check all field status that involve (for GL OBC4 and for posting key) and they are all optional.
    I think it's about the screen number 0302 which will be used for vendor line item entry, while other GLs will used 0300. I already maintain the coding block but still don't know how the system works to use that coding block for the screens.
    someone pleasszzz.. help us.
    Thanks

  • Coding Block Pop up in BDC

    Hi All,
    I am calling the transaction MB1B through a dialog program using BDC.
    But when the transaction is being called I am getting popup with the title coding block but there is nothing in the pop up screen its blank and when I press ok the transaction gets completed successfully.
    But problem arise when I am running the transaction in 'N" mode.
    In this case the transaction is not getting completed and its returning with sy-subrc 1001.
    Please suggest.
    Thanks

    Hi,
    Do the recording in one go, that is, record the screens which you need, and don't record anything extra.
    Save the recording, and then try to run the program.
    Thanks and regards,
    Prerna

Maybe you are looking for

  • IPod 5G takes 70 seconds to mount, or not at all.

    I've been plagued by my iPod taking seemingly an eternity to mount. It either takes around 70 seconds to be found by Finder and in iTunes, or it just doesn't get found at all. My G2 Nano 8G works OK (only a couple of seconds to get recognised) on the

  • Unplanned failover in a Hyper-V cluster vs unplanned failover in an ordinary (not Hyper-V) cluster

    Hello! Please excuse me if you think my question is silly, but before deploying something  in a production environment I'd like to dot the i's  and cross the t's. 1) Suppose there's a two node cluster with a Hyper-V role that hosts a number of highly

  • Link between Reports

    Hi Im new with Portal and I dont know hot to make a link between 2 reports, passing a parameter. I have a table of questions and a table of answers and a report for each table. So the idea is to have a link on the Questions report to the Answers repo

  • Where are the EQ setting in iTunes 11?

    Where is it?  I'm not seeing it anywhere. I just updated to it this morning, and now I'm wishing I hadn't. iTunes 11 on Windows 7 Pro and Home.

  • How to control actions printing,export in discoverer viewer for user

    Hi we use discoverer viewer .I want to control Printing,export,send email options for user for a worksheet.Hoe to do this. thru Enterprise Manager apps server control , i tried to change the settings , but i guess thats for all the users and all the