Tcode - SOLMAN_SETUP is not working

Hi,
We have installed solution manager with EHPI,
and trying to configure it using Tcode SOLMAN_SETUP,
this Tcode is not working, it opens browzer fine but blank..
pls advise.
Thanks
irfan

Hi Ana.
Yes. I have tested two services.
http://:8003/sap/bc/webdynpro?sap-system-login-basic_auth=X&sap-client=000&sap-language=EN
and its showing up the welcome screen.
Then after a successfull login it brings an error
  The following error text was processed in the system SLM :  Web Dynpro application // does not exist
The error occurred on the application server etgrws10_SLM_03 and in the work process 0 .
The termination type was: ERROR_MESSAGE_STATE
The ABAP call stack was:
      Method: IF_WDR_RUNTIME~GET_RR_APPLICATION of program CL_WDR_MAIN_TASK==============CP
      Method: CREATE_APPLICATION of program CL_WDR_CLIENT_ABSTRACT_HTTP===CP
      Method: IF_HTTP_EXTENSION~HANDLE_REQUEST of program CL_WDR_MAIN_TASK==============CP
      Method: EXECUTE_REQUEST of program CL_HTTP_SERVER================CP
      Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME
      Module: %_HTTP_START of program SAPMHTTP
If if try the following one, it says the full domain was not specified.
I'll add that parameter to the profile and test again
http://:8003/sap/bc/webdynpro/sap/dswp_dtm_maintain_popup_appl?sap-system-login-basic_auth=X&sap-client=400&sap-language=EN
  The following error text was processed in the system SLM :  Die URL enthält keine vollständige Domainangabe (etgrws10 statt etgrws10.<domain>.<ext>).
The error occurred on the application server etgrws10_SLM_03 and in the work process 0 .
The termination type was: RABAX_STATE
The ABAP call stack was:
      Method: CHECK of program CX_FQDN=======================CP
      Method: STARTUP_CHECKS of program CL_WDR_CLIENT_ABSTRACT_HTTP===CP
      Method: HANDLE_REQUEST of program CL_WDR_CLIENT_ABSTRACT_HTTP===CP
      Method: IF_HTTP_EXTENSION~HANDLE_REQUEST of program CL_WDR_MAIN_TASK==============CP
      Method: EXECUTE_REQUEST of program CL_HTTP_SERVER================CP
      Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME
      Module: %_HTTP_START of program SAPMHTTP

Similar Messages

  • Solman_setup is not working

    hi Gurus,
    Solman_setup tcode is not working. I have set the below parameters.
    login/create_sso2_ticket = 2
    login/accept_sso2_ticket = 1
    icm/host_name_full = host name
    icm/server_port_1 = PROT=SMTP,PORT = 25$$0
    login/no_automatic_user_sapstar = 0
    icm/conn_timeout = 20000
    icm/keep_alive_timeout = 240
    SAPLOCALHOSTFULL = host name
    The error is like this
    500 Connection timed out
    Error: -5
    Version: 7000
    Component: ICM
    Date/Time: Sat Aug 14 12:04:38 2010 
    Module: icxxthr.c
    Line: 2698
    Server: chnmct211397d_SM2_02
    Error Tag: {-}
    Detail: Connection to partner timed out after 240s
    please help me

    Hi Lata,
    I hope u haven't executed the SAP Load generator(SGEN) even once. Actually what happens in ur case is that, the system tries to load the SolMan_Setup transaction in a web browser and it is not able to load that within 240s as mentioned in the parameter icm/keep_alive_timeout. So the session gets terminated(timed out).
    icm/keep_alive_timeout = 240
    Increase the value of this parameter using the tcode RZ10 (In our case I've set this as 600) and restart the SAP instance once and then try to execute the tcode solman_setup once again.
    Also make sure that the value of the following are FQHN (hostname.domain).
       icm/host_name_full = host name
       SAPLOCALHOSTFULL = host name
    Regards,
    Varadharajan M

  • Tcode MASS does not work if more than one item in contract

    Hi,
    I need to update the contract zone of a PO. Via tcode ME22N, this zone is disabled, so i cannot fill my contract in the PO using this tcode.
    I tried tcode MASS which works only if the contract has only one item.
    Can anyone help please?
    Thanks in advance

    HI Anu,
    Good to KNow that you are able to do it by Mass
    In Mass for Multiple Line Item to update to Multiple line item PO
    Just go to MASS
    Select the option BUS2012 (Purchase orders)
    and in the select the poline item EKPO
    And enter the PO Number along with the Item Number in the entry screen and execute it .
    But for the Contract also enter the option
    Outline Agreement -- for the contract number
    Principal Agmt Item-- for the contract item number
    Enter the above against the PO and its item number combination it works.
    As suggested earlier please check the Screen layout option also.which would be more easy way,
    Check the PO Screen layout-Field settings. at the Document type level  mainatained in the config.
    against the
    Hope so this would help.
    Regards
    Anjanna

  • SOLMAN_SETUP transaction not working

    Hello Guru,
    For 6 weeks I installed the SOLMAN 7.0 EHP 1 and I upgrated it to the latest Package 20.
    I also configured everything alone and connected myERP system with the solman system.
    I upgraded both systems to the highest level using maintenance optimizer.
    Now, I'm wondering how and why should I use the SOLMAN_SETUP.
    So, one day I decided to started the transaction but unfortunately I get "500 connection time out" on the SAP Web Application Server.
    How can I resolve the issue.
    I'm also aware that I need to do this, to get an automactic maintenance certificat from SAP, which will be propagated to all other system without having the need to do it manually.
    Thanks for your Respond.
    Best Regards,
    Kais

    The first time you run SOLMAN_SETUP it has to compile all the web dynpros, which takes a lot of time.
    In Solution Manager run transaction SMICM and choose Goto -> Services.
    Choose the HTTP service and then choose Service -> Change from the menu.
    Change the Max Processing Time setting from the current value (default = 60) to 6000 and save.
    Then run SOLMAN_SETUP.
    When you're done, you can reset the HTTP service timeout, and when your restart the Solution Manager system it will also reset.
    Rich

  • Issue in SAP GUI 7.0 for ECC6 (ABAP Editor not working)

    Dear SAP Team,
                             We have installed SAP ECC6.0 EHP4.We have installed SAP GUI 7.0 in our clients machine but in some machines the ABAP Editor i.e Tcode SE38 is not working properly.When our Client selects any transaction for editing the system gets HANG.
    We have tried uninstalling & reinstalling the software & the patch but the problem still persists.The configuration of all our client machine are same & we work on Windows XP platform.Please help us in solving our issue as soon as possible.
    Thanks & Regards,
    Manoj Mhatre.

    Dear Manoj
    you mean the SAP Gui for windows 7.20 or 7.10?
    Please install the latest Sapgui Patch 3 for the Sapgui 720, or the Sapgui
    Patch 19  for the Sapgui 7.10.
    As workaround, please use the OLD  frontend editor.
    Best regards,
    Sven

  • SOLMAN_SETUP not working after login

    Hi,
    We have installed solution manager,
    and trying to configure it using Tcode SOLMAN_SETUP,
    this Tcode is not working, it opens browser fine, but with some warnings:
    Then after I input the password and user name of user "ddic" and press the login button the page then goes to "The Website cannot be displayed HTTP500"  as follow screenshot:
    and if i do refresh it gives me the following error:
    pls advise.
    Thanks
    Adiac

    Hi Galan,
    Check the below parameters and also make sure that services are activated in SICF.
    icm/host_name_full
    SAPGLOBALHOST
    SAPLOCALHOSTFULL
    SICF Services are :
    /sap/bc/webdynpro/sap/ags_work_incident_man
    /sap/bc/webdynpro/sap/ags_workcenter
    /sap/bc/ags_workcenter/ags_work_appln
    /sap/bc/ags_workcenter/ags_work_webgui
    /sap/bc/webdynpro/sap/ags_work_trans_print
    /sap/bc/webdynpro/sap/ags_work_incident_create_app
    /sap/bc/webdynpro/sap/ags_work_change_man
    /sap/bc/webdynpro/sap/ags_work_setup
    /sap/bc/webdynpro/sap/ags_work_job_sch_man
    /sap/bc/webdynpro/sap/ags_work_implementation
    /sap/bc/webdynpro/sap/ags_work_bp_iterf_mon
    /sap/bc/webdynpro/sap/ags_work_services
    /sap/bc/webdynpro/sap/ags_rbe
    /sap/bc/solman/nwbc/solmanwork
    /sap/bc/webdynpro/sap/ags_work_gui_selection
    /sap/bc/dal/demoA
    /sap/bc/webdynpro/sap/wdc_wba_rfc_monitoring
    /sap/bc/bsp/sap/wba_start_smdia
    /sap/bc/webdynpro/sap/ags_work_gui_default_set
    Thanks & Regards,
    Sandeep

  • Substitution written under cost center accounting is not working for tcode MB1B but working for MIGO_GI

    Hi All
    Do you know why this behaviour different for subtitution written under cost center accounting.
    We have written substitution using coding block table. Logic of substitution is in case of any GL maintained in a set is being used for posting , then we will replace the cost center with profit center vlaue. Reason being we have same naming convention for Cost center and Profit center.
    Thanks
    Sonia

    Hi,
    MB1B is t-code for stock transfer posting.
    Stock transfer posting generate FI document using balance sheet account, not P&L account.
    Because you don’t create cost elements using balance sheet accounts related to stock, I think that Substitution written under cost center accounting is not working for tcode MB1B is right.

  • Custome Tcode is not working in QA system but working in DEV system

    Hello,
    We have copied QM11 tacode to ZQM11. We found this ZQM11 tcode is not working in QA system, but properly working in DEV system. When we are execute this tcode from QA system with all required input, it says
    "No objects could be selected that met your selection criteria."
    But when do it in DEV system it is working fine. I have done following steps to check error
    1) All authorizations are good
    2) I have compared E070 and E071 table to found transport done with proper way.
    3) I have checked SE93, tcode condition is good.
    4) SE97 -->found call transaction is QM11 for ZQM11
    5) From program code level Authority check maintained properly.
    AUTHORITY-CHECK OBJECT 'Q_QMEL'
                 ID 'QMART'    FIELD I_QMART
                 ID 'TCD'      FIELD I_TCODE
                 ID 'WERKS'    DUMMY.
    6) Performed authorization trace to found error agains object Q_QMEL (RC =4), but in the role Q_QMEL has define with it's  proper value supplied by our functional team.
    7) Shows all active object in SU24 against ZQM11 are good
    8) When we call tcode it has thrown the error agains Q_QMEL only
    I am not able to understand why does not work this tcode in QA system, although working in DEV is good.
    Please help me to resolve this issue
    Thanks
    Pavel

    Bieng declared $WERKS field as DUMMY, is not relevant, so no matter its value, it will pass..
    There's a catch! If even DUMMY means literally that no matter user has any value, he is still authorized but in reality for such \fields authorization check is only successful when a value ' ' or * is found in user's authorization else it errors out.
    Sorry confused with programs where AUTHORITY-CHECK has  ' ' coded instead of DUMMY. You are right, DUMMY specified for as field would pass authorization check with any/no value in user's authorization. Please ignore my statement
    Sandipan
    Edited by: Sandipan Choudhury on Dec 29, 2010 2:11 AM

  • SUBMIT RVV50R10C not working in background as well as foregrnd tcode:vl10b

    Hi,
       I have to create a code which creates delivery of STO in background as baapi creating issue and BDC can not be used for this, i am using submit.
    Code is as follows :
    report ZKIRAN.
    TABLES : mara.
    TYPES : BEGIN OF STR,
             SIGN(1),
             OPT(2),
             LOW(18),
             HIGH(18),
            END OF STR.
    TYPES : BEGIN OF STR1,
             SIGN(1),
             OPT(2),
             LOW(10),
             HIGH(10),
            END OF STR1.
    TYPES : BEGIN OF STR2,
             SIGN(1),
             OPT(2),
             LOW TYPE D,
             HIGH TYPE D,
            END OF STR2.
    DATA : MATNR TYPE STANDARD TABLE OF STR  WITH HEADER LINE,
           DATE  TYPE STANDARD TABLE OF STR2 WITH HEADER LINE,
           STO   TYPE STANDARD TABLE OF STR1 WITH HEADER LINE.
    MATNR-SIGN = 'I'.
    MATNR-OPT  = 'EQ'.
    MATNR-LOW  = '000000000001004362'.
    APPEND MATNR.
    CLEAR  MATNR-LOW.
    STO-SIGN = 'I'.
    STO-OPT  = 'EQ'.
    STO-LOW  = '6200001140'.
    APPEND STO.
    DATE-SIGN = ''.
    DATE-OPT  = ''.
    DATE-LOW  = ''.
    DATE-HIGH = ''.
    APPEND DATE.
    SUBMIT RVV50R10C  VIA SELECTION-SCREEN WITH st_matnr IN MATNR
                                           WITH st_ebeln IN STO
                                           WITH ST_LEDAT IN DATE
                                           WITH P_PROF1  eq '5001'
                                           WITH P_LERUL  EQ ''
                                           EXPORTING LIST TO MEMORY
                                             AND RETURN.
    It is not working .. plz reply what else i need to add in this code.
    This code displays 1st screen of vl10b . it also populates valeus passed in respective fields..but does not process further.
    I am suppose to schedule this job in background.
    Waiting for ur reply...A wrong code is already in productiion and i have ket my fingures crossed.
    pls help.

    Hi this was the code i used and it worked fine.
      DATA: t_ledat TYPE RANGE OF vbep-mbdat,
            e_ledat LIKE LINE  OF t_ledat.
      DATA: t_vbak  TYPE RANGE OF vbak-vbeln,
            e_vbak  LIKE LINE  OF t_vbak.
      DATA: t_vstel TYPE RANGE OF vbap-vstel,
            e_vstel LIKE LINE  OF t_vstel.
      DATA: t_ekko  TYPE RANGE OF ekko-ebeln,
            e_ekko  LIKE LINE  OF t_ekko.
          MOVE c_include              TO e_ledat-sign.
          MOVE c_between              TO e_ledat-option.
          MOVE s_mbdat-low            TO e_ledat-low.
          MOVE s_mbdat-high           TO e_ledat-high.
          APPEND e_ledat              TO t_ledat.
          MOVE c_include              TO e_vbak-sign.
          MOVE c_equal                TO e_vbak-option.
          MOVE <fs_del_sales>-vbeln   TO e_vbak-low.
          APPEND e_vbak               TO t_vbak.
          MOVE c_include              TO e_vstel-sign.
          MOVE c_equal                TO e_vstel-option.
          MOVE <fs_del_sales>-vstel   TO e_vstel-low.
          APPEND e_vstel              TO t_vstel.
          CLEAR:  w_scenario,
                  w_profilname.
          MOVE : '0001'   TO w_scenario,
                      '5001'         TO w_profilname.
          CLEAR: e_t186v,
                       e_list_profil.
    *       Get List-Profil-data if given or from default values
          PERFORM f_profil_data_complete in program saplv50r_pre
            USING    w_scenario
                     w_profilname
            CHANGING e_t186v
                     e_list_profil.
          MOVE 1 TO e_list_profil-list_type .
          MOVE e_ledat-high TO e_list_profil-ledat_high.
          CALL FUNCTION 'SHP_LIST_PROFIL_SET'
            EXPORTING
              ix_list_profil = e_list_profil.
          CLEAR : w_souro.
          MOVE p_souro TO w_souro.
          SUBMIT rvv50r10c WITH p_prnam  EQ w_souro
                           WITH p_lerul  EQ space
                           WITH st_ledat IN t_ledat
                           WITH st_vbeln IN t_vbak
                           WITH st_vstel IN t_vstel
                           EXPORTING LIST TO MEMORY AND RETURN.
          IF sy-subrc EQ 0.
            COMMIT WORK AND WAIT.
          ENDIF.
    You can also check the code in  FM OIO_RS_M_DELIVERY_2 for any more clarifications

  • DESELECT FUNCTION IS NOT WORKING IN MIRO TCODE

    Hi All,
               I am creating a BDC for MIRO t-code,  When recording I have selected
    DESELECT function( technical function text is ADMA) to deselect all the items.
            The Deselect function is working well when i do recording, But same is not
    working when i execute the BDC. Why?
            If any one of u having sample code , send me. reply ASAP
    Thanks in advance,
    s.senthil kumar.

    u can't do bdc recording for enjoy transactions .....................
    miro is enjoy transaction...................tats y it didn't worked for u.....
    reward points if helpful.....

  • Application not working in Quality, which was working fine in Dev. Urgent!!

    Hello Guru's,
    We are experiencing a problem in portal.
    Issue: We customized application in MSS( General Information which calls FM in the backend to populate the data) using NWDS and deployed the application into Development System and it's working fine. so we used NWDI to transport the code into Quality and the application is not working fine in Quality. The Issue is when transported the application into Quality it is not showing any data. and when checked the RFC trace it is not showing any FM been called when accessing the application. And also when checked in NWA it is not showing any error, when checked the JCo connections they are working fine.
    Anyone please help us out. It's very Urgent.
    Thanks in Advance.
    Regards,
    Pramod
    'Points will be awarded for sure for helpful answers.'

    Hello Harini,
    Thank you for the reply, and I was expecting answer from you. Was seeing other forums and your replies to those .
    Anyways Let me tell a little more on the issue:
    We are implementing ESS/MSS in portal as per the req. we need to create a custom iview with employee details. And for that we have created a FM which will pick up the data and we are accessing that Function Module in WebDynpro application.
    We deployed the code into QA and Prod In prod it is working fine but in quality it's giving 500 Internal Server Error
    when checking the log file we are not getting any error logged. and checking in the R/3 whether that FM is executing when accessing the application using ST05 tcode it is not showing up the RFC trace either.
    And Configuration of QA is same as Prod and all the permission are properly assigned.
    Just wondering how is a application responding differently in different landscapes.
    Looking forward for a solution.
    Appreciate your time and help.
    Regards,
    Pramod

  • Hi ALL i have a BDC code  it is not working properly

    this BDC code is not working properly , when ever the file is transfering BDC is aborting in the case of   invalid material/batch comes into teh picture... so please could you ''Check for invalid material/batch combinations so they are not processed by the BDC in the program and correctly output in an exception report''
    *****************************CODE HERE*****************************
    S E L E C T I O N S C R E E N
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS: p_file LIKE rlgrap-filename,
    p_arch LIKE rlgrap-filename. "RM080107
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_mode LIKE ctu_params-dismode DEFAULT 'N'.
    SELECTION-SCREEN END OF BLOCK b1.
    I N C L U D E S
    INCLUDE zwm_np_stock_recon_top.
    INCLUDE zwm_np_stock_recon_f01.
    I N I T I A L I Z A T I O N
    INITIALIZATION.
    PERFORM get_interface_filename USING c_interface_file p_file.
    PERFORM get_interface_filename USING c_archive_file p_arch."RM080107
    S T A R T O F S E L E C T I O N
    START-OF-SELECTION.
    PERFORM read_file USING p_file.
    PERFORM pre_processing.
    E N D O F S E L E C T I O N
    END-OF-SELECTION.
    PERFORM process_checks.
    IF w_no_change = 'X'.
    WRITE: / text-b03.
    WRITE: / sy-uline(34).
    ELSE.
    PERFORM bdc_mi09.
    PERFORM file_check_report.
    PERFORM bdc_report.
    ENDIF.
    PERFORM post_process_checks.
    *-- Move the processed file to archive directory
    PERFORM move_file.
    ...*************.........first include...................************
    INCLUDE ZWM_NP_STOCK_RECON_TOP *
    Data declaration ----------------------------------------------
    TYPES: st_rawdata(2000) TYPE c.
    TYPES: BEGIN OF st_stck_cnt,
    werks TYPE iseg-werks, "plant
    lgort TYPE iseg-lgort, "storage location
    matnr TYPE iseg-matnr, "material number
    charg TYPE iseg-charg, "batch
    vfdat TYPE mch1-vfdat, "Sell by date
    lwedt TYPE mch1-lwedt, "Manufacture date
    quarn(8) TYPE n, "qaunrantine quantity
    menge(8) TYPE n, "quantity on hand
    message(1), "Message Type (E/W/I)
    msg_txt TYPE t100-text, "Message Text
    zerostck(1), "Zero stock identifier "RM220307
    END OF st_stck_cnt.
    TYPES: BEGIN OF st_batch_errors,
    matnr TYPE iseg-matnr, "material number
    charg TYPE iseg-charg, "batch
    clabs TYPE mchb-clabs, "Stock Balance
    END OF st_batch_errors.
    DATA:
    t_rawdata TYPE TABLE OF st_rawdata,
    w_rawdata TYPE st_rawdata,
    t_stck_cnt TYPE TABLE OF st_stck_cnt,
    d_stck_cnt TYPE TABLE OF st_stck_cnt, "RM191006
    w_stck_cnt TYPE st_stck_cnt,
    t_batch_errors TYPE TABLE OF st_batch_errors,
    w_batch_errors TYPE st_batch_errors,
    t_messtab LIKE bdcmsgcoll OCCURS 0,
    w_messtab LIKE LINE OF t_messtab,
    w_no_change.
    CONSTANTS: c_interface_file(26) TYPE c VALUE 'ZNP_STOCK_RECON',
    c_archive_file(26) TYPE c
    VALUE 'ZNP_STOCK_RECON_ARCHIVE'. "RM080107
    .*************................second include..........************
    ***INCLUDE ZWM_NEXTPHARMA_STOKRECON_F01 .
    *& Form read_file
    reads NextPharma file sent through via webmethods
    -->P_FILENAME
    FORM read_file USING p_filename.
    CLEAR: t_rawdata,
    w_rawdata.
    REFRESH: t_rawdata.
    OPEN DATASET p_filename FOR INPUT IN TEXT MODE.
    IF sy-subrc <> 0.
    MESSAGE e720(01).
    ENDIF.
    DO.
    READ DATASET p_filename INTO w_rawdata.
    IF sy-subrc <> 0.
    EXIT.
    ELSE.
    APPEND w_rawdata TO t_rawdata.
    ENDIF.
    ENDDO.
    CLOSE DATASET p_filename.
    ENDFORM. " read_file
    *& Form pre_processing
    Read file values into internal table
    FORM pre_processing.
    DATA: lw_matnr TYPE iseg-matnr.
    LOOP AT t_rawdata INTO w_rawdata.
    lw_matnr = w_rawdata+21(20). "RM031006
    lw_matnr = w_rawdata+22(18). "RM031006
    CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
    EXPORTING
    input = lw_matnr
    IMPORTING
    output = lw_matnr
    EXCEPTIONS
    length_error = 1
    OTHERS = 2.
    MOVE: lw_matnr TO w_stck_cnt-matnr.
    w_stck_cnt-werks = w_rawdata+14(4).
    w_stck_cnt-lgort = w_rawdata+18(4).
    w_stck_cnt-charg = w_rawdata+84(25).
    w_stck_cnt-vfdat = w_rawdata+109(8).
    w_stck_cnt-lwedt = w_rawdata+117(8).
    w_stck_cnt-quarn = w_rawdata+141(8).
    w_stck_cnt-menge = w_rawdata+125(8).
    APPEND w_stck_cnt TO t_stck_cnt.
    CLEAR w_stck_cnt.
    ENDLOOP.
    SORT t_stck_cnt BY werks
    lgort
    matnr
    charg.
    DELETE ADJACENT DUPLICATES FROM t_stck_cnt.
    ENDFORM. " pre_processing
    *& Form bdc_mi09
    Run file data via BDC TCODE: MI09
    FORM bdc_mi09.
    DATA: t_bdcdata TYPE TABLE OF bdcdata,
    w_bdcdata TYPE bdcdata,
    lw_datum(10) TYPE c,
    lw_count(2) TYPE n.
    WRITE sy-datum TO lw_datum DD/MM/YYYY.
    Front Screen
    CLEAR w_bdcdata.
    w_bdcdata-program = 'SAPMM07I'.
    w_bdcdata-dynpro = '0700'.
    w_bdcdata-dynbegin = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    Enter
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'BDC_OKCODE'.
    w_bdcdata-fval = '/00'.
    APPEND w_bdcdata TO t_bdcdata.
    Count Date
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'RM07I-ZLDAT'.
    w_bdcdata-fval = lw_datum.
    APPEND w_bdcdata TO t_bdcdata.
    Document Date
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'RM07I-BLDAT'.
    w_bdcdata-fval = lw_datum.
    APPEND w_bdcdata TO t_bdcdata.
    Plant
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'IKPF-WERKS'.
    w_bdcdata-fval = w_stck_cnt-werks.
    APPEND w_bdcdata TO t_bdcdata.
    Storage Location
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'IKPF-LGORT'.
    w_bdcdata-fval = w_stck_cnt-lgort.
    APPEND w_bdcdata TO t_bdcdata.
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    Do not submit items with Errors against them
    CHECK w_stck_cnt-message NE 'E' AND
    w_stck_cnt-zerostck NE 'X'.
    "RM220307
    lw_count = lw_count + 1.
    Input Screen
    CLEAR w_bdcdata.
    w_bdcdata-program = 'SAPMM07I'.
    w_bdcdata-dynpro = '0731'.
    w_bdcdata-dynbegin = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    Page Down
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'BDC_OKCODE'.
    w_bdcdata-fval = '=P+'.
    APPEND w_bdcdata TO t_bdcdata.
    Material
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-MATNR(01)'.
    w_bdcdata-fval = w_stck_cnt-matnr.
    APPEND w_bdcdata TO t_bdcdata.
    Batch
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-CHARG(01)'.
    w_bdcdata-fval = w_stck_cnt-charg.
    APPEND w_bdcdata TO t_bdcdata.
    IF w_stck_cnt-menge NE 0.
    Quantity
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-ERFMG(01)'.
    w_bdcdata-fval = w_stck_cnt-menge.
    APPEND w_bdcdata TO t_bdcdata.
    *-- Begin RM220307 - We need to create an item when the quantity is zero
    *-- in file and is non-zero in SAP
    ELSE.
    Zero Stock indicator
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-XNULL(01)'.
    w_bdcdata-fval = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    *-- End RM220307
    ENDIF.
    ENDLOOP.
    CHECK lw_count NE 0.
    After all line items have been input
    Final Screen
    CLEAR w_bdcdata.
    w_bdcdata-program = 'SAPMM07I'.
    w_bdcdata-dynpro = '0731'.
    w_bdcdata-dynbegin = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    Save Document
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'BDC_OKCODE'.
    w_bdcdata-fval = '=BU'.
    APPEND w_bdcdata TO t_bdcdata.
    CALL TRANSACTION 'MI09' USING t_bdcdata
    MODE p_mode
    MESSAGES INTO t_messtab.
    ENDFORM. " bdc_mi09
    *& Form bdc_report
    Write BDC Messages.
    FORM bdc_report.
    DATA: lw_text TYPE t100-text.
    SKIP.
    WRITE: / text-b01.
    WRITE: / sy-uline(21).
    SKIP.
    Write BDC Messages
    LOOP AT t_messtab INTO w_messtab WHERE msgspra = sy-langu.
    MESSAGE ID w_messtab-msgid TYPE w_messtab-msgtyp
    NUMBER w_messtab-msgnr
    WITH w_messtab-msgv1
    w_messtab-msgv2
    w_messtab-msgv3
    w_messtab-msgv4
    INTO lw_text.
    WRITE: / lw_text.
    ENDLOOP.
    ENDFORM. " bdc_report
    *& Form process_checks
    Perform process check before creating BDC Session
    FORM process_checks.
    DATA: lw_clabs LIKE mchb-clabs,
    lw_menge LIKE mchb-clabs,
    lw_matnr LIKE mara-matnr,
    lw_charg LIKE mch1-charg,
    lw_fail,
    lw_vfdat TYPE mch1-vfdat,
    lv_sell TYPE c, "RM191006
    lv_qty(8) TYPE c. "RM191006
    CLEAR: d_stck_cnt[], d_stck_cnt. "RM191006
    Check if any of the stock figures differ from current stock figures
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    lw_menge = w_stck_cnt-menge.
    SELECT SINGLE clabs INTO lw_clabs
    FROM mchb
    WHERE matnr = w_stck_cnt-matnr
    AND werks = w_stck_cnt-werks
    AND lgort = w_stck_cnt-lgort
    AND charg = w_stck_cnt-charg.
    IF sy-subrc = 0.
    IF lw_clabs NE lw_menge.
    lw_fail = 'X'.
    *-- Begin RM220307 - Do not create PI item if the stock is zero in the
    *-- file and is zero in SAP
    EXIT.
    ELSEIF lw_clabs = 0 AND lw_menge = 0.
    w_stck_cnt-zerostck = 'X'.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    ENDIF.
    *-- End RM220307
    ELSE.
    lw_fail = 'X'.
    ERROR
    ENDIF.
    ENDLOOP.
    If no differences are found set NO CHANGE Flag
    IF lw_fail NE 'X'.
    w_no_change = 'X'.
    EXIT.
    ENDIF.
    Check for Errors in file data
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    CLEAR lv_sell. "RM191006
    SELECT SINGLE matnr INTO lw_matnr
    FROM mara
    WHERE matnr = w_stck_cnt-matnr.
    IF sy-subrc NE 0.
    Invalid Material (E)
    w_stck_cnt-message = 'E'.
    w_stck_cnt-msg_txt = 'Invalid Material'.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    CONTINUE.
    ENDIF.
    SELECT SINGLE charg vfdat
    INTO (lw_charg, lw_vfdat)
    FROM mch1 "KOB01 - changed from MCHA
    WHERE matnr = w_stck_cnt-matnr
    AND charg = w_stck_cnt-charg.
    AND werks = w_stck_cnt-werks.
    IF sy-subrc NE 0.
    Invalid Material Batch (E)
    w_stck_cnt-message = 'E'.
    CONCATENATE 'Invalid Material Batch for plant' w_stck_cnt-werks
    INTO w_stck_cnt-msg_txt SEPARATED BY space.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    CONTINUE.
    ELSE.
    IF w_stck_cnt-vfdat <> lw_vfdat.
    Sell by dates do not match (W)
    w_stck_cnt-message = 'W'.
    w_stck_cnt-msg_txt =
    'Sell by Date does not match Shelf life Expiry Date'.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    lv_sell = 'X'. "RM191006
    CONTINUE. "RM191006
    ENDIF.
    ENDIF.
    IF w_stck_cnt-quarn > 0.
    Quarantine balance not Zero (W)
    w_stck_cnt-message = 'W'.
    *-- Begin RM191006
    *-- We do want all warning messages on the report
    lv_qty = w_stck_cnt-quarn.
    CONDENSE lv_qty NO-GAPS.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
    EXPORTING
    input = lv_qty
    IMPORTING
    output = lv_qty.
    w_stck_cnt-msg_txt = 'Quarantine balance is not zero'.
    CONCATENATE 'Quarantine balance is ' lv_qty '- not zero'
    INTO w_stck_cnt-msg_txt SEPARATED BY space.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    CONTINUE.
    IF lv_sell = 'X'.
    APPEND w_stck_cnt TO d_stck_cnt.
    CLEAR lv_sell.
    ELSE.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    ENDIF.
    *-- End RM191006
    ENDIF.
    ENDLOOP.
    *-- Begin RM191006
    *-- Finally get all the records into dummy table to report
    APPEND LINES OF t_stck_cnt TO d_stck_cnt.
    SORT d_stck_cnt.
    DELETE ADJACENT DUPLICATES FROM d_stck_cnt.
    *-- End RM191006
    ENDFORM. " process_checks
    *& Form file_check_report
    Write warning and Error messages from File checks
    FORM file_check_report.
    WRITE: /2 'Material',
    22 'Batch',
    32 'Sell By',
    45 'Message Text'.
    WRITE: /2 sy-uline(115).
    SKIP.
    LOOP AT t_stck_cnt INTO w_stck_cnt. "RM191006
    LOOP AT d_stck_cnt INTO w_stck_cnt. "RM191006
    CHECK w_stck_cnt-message NE ' '.
    WRITE: /2 w_stck_cnt-matnr,
    22 w_stck_cnt-charg,
    32 w_stck_cnt-vfdat,
    43 w_stck_cnt-message,
    45 w_stck_cnt-msg_txt.
    ENDLOOP.
    ENDFORM. " file_check_report
    *& Form post_process_checks
    Check Material Batches in SAP against NP File
    FORM post_process_checks.
    RANGES: r_matnr FOR mchb-matnr,
    r_lgort FOR mchb-lgort,
    r_werks FOR mchb-werks.
    SORT t_stck_cnt.
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    AT END OF matnr.
    r_lgort-sign = 'I'.
    r_lgort-option = 'EQ'.
    r_lgort-low = w_stck_cnt-lgort.
    APPEND r_lgort.
    r_werks-sign = 'I'.
    r_werks-option = 'EQ'.
    r_werks-low = w_stck_cnt-werks.
    APPEND r_werks.
    r_matnr-sign = 'I'.
    r_matnr-option = 'EQ'.
    r_matnr-low = w_stck_cnt-matnr.
    APPEND r_matnr.
    ENDAT.
    ENDLOOP.
    Select all material batches for NP Materials
    SELECT matnr charg clabs
    INTO TABLE t_batch_errors
    FROM mchb
    WHERE werks IN r_werks
    AND lgort IN r_lgort.
    IF sy-subrc EQ 0.
    Check if the Material Batches are in the NP file
    LOOP AT t_batch_errors INTO w_batch_errors.
    Disregard Batches without positive unrestricted stock
    IF w_batch_errors-clabs LE 0.
    DELETE t_batch_errors.
    CONTINUE.
    ENDIF.
    READ TABLE t_stck_cnt INTO w_stck_cnt
    WITH KEY matnr = w_batch_errors-matnr
    charg = w_batch_errors-charg.
    IF sy-subrc = 0.
    DELETE t_batch_errors.
    ENDIF.
    ENDLOOP.
    ENDIF.
    CHECK NOT t_batch_errors[] IS INITIAL.
    Write Batch chak results to report
    SKIP.
    WRITE: / text-b02.
    WRITE: / sy-uline(74).
    WRITE: /2 'Material',
    22 'Batch'.
    WRITE: /2 sy-uline(32).
    SKIP.
    LOOP AT t_batch_errors INTO w_batch_errors.
    WRITE: /2 w_batch_errors-matnr,
    22 w_batch_errors-charg.
    ENDLOOP.
    ENDFORM. " post_process_checks
    G E T _ I N T E R F A C E _ F I L E N A M E
    FORM get_interface_filename USING filename lw_path.
    DATA: i_file TYPE filename-fileintern,
    out_filename LIKE v_path-pathextern.
    CLEAR: out_filename.
    i_file = filename.
    get the interface filename to be used when creating file
    CALL FUNCTION 'FILE_GET_NAME'
    EXPORTING
    logical_filename = i_file
    IMPORTING
    file_name = out_filename
    EXCEPTIONS
    file_not_found = 1
    OTHERS = 2.
    IF sy-subrc = 0.
    MOVE out_filename TO lw_path.
    IF filename NE c_archive_file. "RM080107
    CONCATENATE lw_path 'NP_StockBalance.dat'
    INTO lw_path.
    *-- Begin RM080107 - Add timestamp to the archived file
    ELSE.
    CONCATENATE lw_path 'NP_StockBalance' sy-datum sy-uzeit '.dat'
    INTO lw_path.
    ENDIF.
    *-- End RM080107
    ELSE.
    ENDIF.
    ENDFORM. "get_interface_filename
    *& Form move_file RM080107
    Move the processed file to archive directory
    FORM move_file.
    *-- At last move the file to archive directory
    OPEN DATASET p_arch FOR OUTPUT IN TEXT MODE.
    IF sy-subrc = 0.
    LOOP AT t_rawdata INTO w_rawdata.
    TRANSFER w_rawdata TO p_arch.
    ENDLOOP.
    ENDIF.
    CLOSE DATASET p_arch.
    DELETE DATASET p_file.
    ENDFORM. " move_file

    Hi,
    S E L E C T I O N S C R E E N
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS: p_file LIKE rlgrap-filename,
    p_arch LIKE rlgrap-filename. "RM080107
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_mode LIKE ctu_params-dismode DEFAULT 'N'.
    SELECTION-SCREEN END OF BLOCK b1.
    I N C L U D E S
    INCLUDE zwm_np_stock_recon_top.
    INCLUDE zwm_np_stock_recon_f01.
    I N I T I A L I Z A T I O N
    INITIALIZATION.
    PERFORM get_interface_filename USING c_interface_file p_file.
    PERFORM get_interface_filename USING c_archive_file p_arch."RM080107
    S T A R T O F S E L E C T I O N
    START-OF-SELECTION.
    PERFORM read_file USING p_file.
    PERFORM pre_processing.
    E N D O F S E L E C T I O N
    END-OF-SELECTION.
    PERFORM process_checks.
    IF w_no_change = 'X'.
    WRITE: / text-b03.
    WRITE: / sy-uline(34).
    ELSE.
    PERFORM bdc_mi09.
    PERFORM file_check_report.
    PERFORM bdc_report.
    ENDIF.
    PERFORM post_process_checks.
    *-- Move the processed file to archive directory
    PERFORM move_file.
    ...*************.........first include...................************
    INCLUDE ZWM_NP_STOCK_RECON_TOP *
    Data declaration ----------------------------------------------
    TYPES: st_rawdata(2000) TYPE c.
    TYPES: BEGIN OF st_stck_cnt,
    werks TYPE iseg-werks, "plant
    lgort TYPE iseg-lgort, "storage location
    matnr TYPE iseg-matnr, "material number
    charg TYPE iseg-charg, "batch
    vfdat TYPE mch1-vfdat, "Sell by date
    lwedt TYPE mch1-lwedt, "Manufacture date
    quarn(8) TYPE n, "qaunrantine quantity
    menge(8) TYPE n, "quantity on hand
    message(1), "Message Type (E/W/I)
    msg_txt TYPE t100-text, "Message Text
    zerostck(1), "Zero stock identifier "RM220307
    END OF st_stck_cnt.
    TYPES: BEGIN OF st_batch_errors,
    matnr TYPE iseg-matnr, "material number
    charg TYPE iseg-charg, "batch
    clabs TYPE mchb-clabs, "Stock Balance
    END OF st_batch_errors.
    DATA:
    t_rawdata TYPE TABLE OF st_rawdata,
    w_rawdata TYPE st_rawdata,
    t_stck_cnt TYPE TABLE OF st_stck_cnt,
    d_stck_cnt TYPE TABLE OF st_stck_cnt, "RM191006
    w_stck_cnt TYPE st_stck_cnt,
    t_batch_errors TYPE TABLE OF st_batch_errors,
    w_batch_errors TYPE st_batch_errors,
    t_messtab LIKE bdcmsgcoll OCCURS 0,
    w_messtab LIKE LINE OF t_messtab,
    w_no_change.
    CONSTANTS: c_interface_file(26) TYPE c VALUE 'ZNP_STOCK_RECON',
    c_archive_file(26) TYPE c
    VALUE 'ZNP_STOCK_RECON_ARCHIVE'. "RM080107
    .*************................second include..........************
    ***INCLUDE ZWM_NEXTPHARMA_STOKRECON_F01 .
    *& Form read_file
    reads NextPharma file sent through via webmethods
    -->P_FILENAME
    FORM read_file USING p_filename.
    CLEAR: t_rawdata,
    w_rawdata.
    REFRESH: t_rawdata.
    OPEN DATASET p_filename FOR INPUT IN TEXT MODE.
    IF sy-subrc <> 0.
    MESSAGE e720(01).
    ENDIF.
    DO.
    READ DATASET p_filename INTO w_rawdata.
    IF sy-subrc <> 0.
    EXIT.
    ELSE.
    APPEND w_rawdata TO t_rawdata.
    ENDIF.
    ENDDO.
    CLOSE DATASET p_filename.
    ENDFORM. " read_file
    *& Form pre_processing
    Read file values into internal table
    FORM pre_processing.
    DATA: lw_matnr TYPE iseg-matnr.
    LOOP AT t_rawdata INTO w_rawdata.
    lw_matnr = w_rawdata+21(20). "RM031006
    lw_matnr = w_rawdata+22(18). "RM031006
    CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
    EXPORTING
    input = lw_matnr
    IMPORTING
    output = lw_matnr
    EXCEPTIONS
    length_error = 1
    OTHERS = 2.
    MOVE: lw_matnr TO w_stck_cnt-matnr.
    w_stck_cnt-werks = w_rawdata+14(4).
    w_stck_cnt-lgort = w_rawdata+18(4).
    w_stck_cnt-charg = w_rawdata+84(25).
    w_stck_cnt-vfdat = w_rawdata+109(8).
    w_stck_cnt-lwedt = w_rawdata+117(8).
    w_stck_cnt-quarn = w_rawdata+141(8).
    w_stck_cnt-menge = w_rawdata+125(8).
    APPEND w_stck_cnt TO t_stck_cnt.
    CLEAR w_stck_cnt.
    ENDLOOP.
    SORT t_stck_cnt BY werks
    lgort
    matnr
    charg.
    DELETE ADJACENT DUPLICATES FROM t_stck_cnt.
    ENDFORM. " pre_processing
    *& Form bdc_mi09
    Run file data via BDC TCODE: MI09
    FORM bdc_mi09.
    DATA: t_bdcdata TYPE TABLE OF bdcdata,
    w_bdcdata TYPE bdcdata,
    lw_datum(10) TYPE c,
    lw_count(2) TYPE n.
    WRITE sy-datum TO lw_datum DD/MM/YYYY.
    <b>select single MATNR
                       WERKS
                       CHARG
               from MCHA
               into (l_matnr, l_werks, l_charg)
               where matnr = w_stck_cnt-matnr
                  and werks = w_stck_cnt-werks.
                  and charg =  w_stck_cnt-charg.
    if sy-subrc ne 0.
    continue.
    endif.</b>
    Front Screen
    CLEAR w_bdcdata.
    w_bdcdata-program = 'SAPMM07I'.
    w_bdcdata-dynpro = '0700'.
    w_bdcdata-dynbegin = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    Enter
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'BDC_OKCODE'.
    w_bdcdata-fval = '/00'.
    APPEND w_bdcdata TO t_bdcdata.
    Count Date
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'RM07I-ZLDAT'.
    w_bdcdata-fval = lw_datum.
    APPEND w_bdcdata TO t_bdcdata.
    Document Date
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'RM07I-BLDAT'.
    w_bdcdata-fval = lw_datum.
    APPEND w_bdcdata TO t_bdcdata.
    Plant
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'IKPF-WERKS'.
    w_bdcdata-fval = w_stck_cnt-werks.
    APPEND w_bdcdata TO t_bdcdata.
    Storage Location
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'IKPF-LGORT'.
    w_bdcdata-fval = w_stck_cnt-lgort.
    APPEND w_bdcdata TO t_bdcdata.
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    Do not submit items with Errors against them
    CHECK w_stck_cnt-message NE 'E' AND
    w_stck_cnt-zerostck NE 'X'.
    "RM220307
    lw_count = lw_count + 1.
    Input Screen
    CLEAR w_bdcdata.
    w_bdcdata-program = 'SAPMM07I'.
    w_bdcdata-dynpro = '0731'.
    w_bdcdata-dynbegin = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    Page Down
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'BDC_OKCODE'.
    w_bdcdata-fval = '=P+'.
    APPEND w_bdcdata TO t_bdcdata.
    Material
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-MATNR(01)'.
    w_bdcdata-fval = w_stck_cnt-matnr.
    APPEND w_bdcdata TO t_bdcdata.
    Batch
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-CHARG(01)'.
    w_bdcdata-fval = w_stck_cnt-charg.
    APPEND w_bdcdata TO t_bdcdata.
    IF w_stck_cnt-menge NE 0.
    Quantity
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-ERFMG(01)'.
    w_bdcdata-fval = w_stck_cnt-menge.
    APPEND w_bdcdata TO t_bdcdata.
    *-- Begin RM220307 - We need to create an item when the quantity is zero
    *-- in file and is non-zero in SAP
    ELSE.
    Zero Stock indicator
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'ISEG-XNULL(01)'.
    w_bdcdata-fval = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    *-- End RM220307
    ENDIF.
    ENDLOOP.
    CHECK lw_count NE 0.
    After all line items have been input
    Final Screen
    CLEAR w_bdcdata.
    w_bdcdata-program = 'SAPMM07I'.
    w_bdcdata-dynpro = '0731'.
    w_bdcdata-dynbegin = 'X'.
    APPEND w_bdcdata TO t_bdcdata.
    Save Document
    CLEAR w_bdcdata.
    w_bdcdata-fnam = 'BDC_OKCODE'.
    w_bdcdata-fval = '=BU'.
    APPEND w_bdcdata TO t_bdcdata.
    CALL TRANSACTION 'MI09' USING t_bdcdata
    MODE p_mode
    MESSAGES INTO t_messtab.
    ENDFORM. " bdc_mi09
    *& Form bdc_report
    Write BDC Messages.
    FORM bdc_report.
    DATA: lw_text TYPE t100-text.
    SKIP.
    WRITE: / text-b01.
    WRITE: / sy-uline(21).
    SKIP.
    Write BDC Messages
    LOOP AT t_messtab INTO w_messtab WHERE msgspra = sy-langu.
    MESSAGE ID w_messtab-msgid TYPE w_messtab-msgtyp
    NUMBER w_messtab-msgnr
    WITH w_messtab-msgv1
    w_messtab-msgv2
    w_messtab-msgv3
    w_messtab-msgv4
    INTO lw_text.
    WRITE: / lw_text.
    ENDLOOP.
    ENDFORM. " bdc_report
    *& Form process_checks
    Perform process check before creating BDC Session
    FORM process_checks.
    DATA: lw_clabs LIKE mchb-clabs,
    lw_menge LIKE mchb-clabs,
    lw_matnr LIKE mara-matnr,
    lw_charg LIKE mch1-charg,
    lw_fail,
    lw_vfdat TYPE mch1-vfdat,
    lv_sell TYPE c, "RM191006
    lv_qty(8) TYPE c. "RM191006
    CLEAR: d_stck_cnt[], d_stck_cnt. "RM191006
    Check if any of the stock figures differ from current stock figures
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    lw_menge = w_stck_cnt-menge.
    SELECT SINGLE clabs INTO lw_clabs
    FROM mchb
    WHERE matnr = w_stck_cnt-matnr
    AND werks = w_stck_cnt-werks
    AND lgort = w_stck_cnt-lgort
    AND charg = w_stck_cnt-charg.
    IF sy-subrc = 0.
    IF lw_clabs NE lw_menge.
    lw_fail = 'X'.
    *-- Begin RM220307 - Do not create PI item if the stock is zero in the
    *-- file and is zero in SAP
    EXIT.
    ELSEIF lw_clabs = 0 AND lw_menge = 0.
    w_stck_cnt-zerostck = 'X'.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    ENDIF.
    *-- End RM220307
    ELSE.
    lw_fail = 'X'.
    ERROR
    ENDIF.
    ENDLOOP.
    If no differences are found set NO CHANGE Flag
    IF lw_fail NE 'X'.
    w_no_change = 'X'.
    EXIT.
    ENDIF.
    Check for Errors in file data
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    CLEAR lv_sell. "RM191006
    SELECT SINGLE matnr INTO lw_matnr
    FROM mara
    WHERE matnr = w_stck_cnt-matnr.
    IF sy-subrc NE 0.
    Invalid Material (E)
    w_stck_cnt-message = 'E'.
    w_stck_cnt-msg_txt = 'Invalid Material'.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    CONTINUE.
    ENDIF.
    SELECT SINGLE charg vfdat
    INTO (lw_charg, lw_vfdat)
    FROM mch1 "KOB01 - changed from MCHA
    WHERE matnr = w_stck_cnt-matnr
    AND charg = w_stck_cnt-charg.
    AND werks = w_stck_cnt-werks.
    IF sy-subrc NE 0.
    Invalid Material Batch (E)
    w_stck_cnt-message = 'E'.
    CONCATENATE 'Invalid Material Batch for plant' w_stck_cnt-werks
    INTO w_stck_cnt-msg_txt SEPARATED BY space.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    CONTINUE.
    ELSE.
    IF w_stck_cnt-vfdat <> lw_vfdat.
    Sell by dates do not match (W)
    w_stck_cnt-message = 'W'.
    w_stck_cnt-msg_txt =
    'Sell by Date does not match Shelf life Expiry Date'.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    lv_sell = 'X'. "RM191006
    CONTINUE. "RM191006
    ENDIF.
    ENDIF.
    IF w_stck_cnt-quarn > 0.
    Quarantine balance not Zero (W)
    w_stck_cnt-message = 'W'.
    *-- Begin RM191006
    *-- We do want all warning messages on the report
    lv_qty = w_stck_cnt-quarn.
    CONDENSE lv_qty NO-GAPS.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
    EXPORTING
    input = lv_qty
    IMPORTING
    output = lv_qty.
    w_stck_cnt-msg_txt = 'Quarantine balance is not zero'.
    CONCATENATE 'Quarantine balance is ' lv_qty '- not zero'
    INTO w_stck_cnt-msg_txt SEPARATED BY space.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    CONTINUE.
    IF lv_sell = 'X'.
    APPEND w_stck_cnt TO d_stck_cnt.
    CLEAR lv_sell.
    ELSE.
    MODIFY t_stck_cnt FROM w_stck_cnt.
    ENDIF.
    *-- End RM191006
    ENDIF.
    ENDLOOP.
    *-- Begin RM191006
    *-- Finally get all the records into dummy table to report
    APPEND LINES OF t_stck_cnt TO d_stck_cnt.
    SORT d_stck_cnt.
    DELETE ADJACENT DUPLICATES FROM d_stck_cnt.
    *-- End RM191006
    ENDFORM. " process_checks
    *& Form file_check_report
    Write warning and Error messages from File checks
    FORM file_check_report.
    WRITE: /2 'Material',
    22 'Batch',
    32 'Sell By',
    45 'Message Text'.
    WRITE: /2 sy-uline(115).
    SKIP.
    LOOP AT t_stck_cnt INTO w_stck_cnt. "RM191006
    LOOP AT d_stck_cnt INTO w_stck_cnt. "RM191006
    CHECK w_stck_cnt-message NE ' '.
    WRITE: /2 w_stck_cnt-matnr,
    22 w_stck_cnt-charg,
    32 w_stck_cnt-vfdat,
    43 w_stck_cnt-message,
    45 w_stck_cnt-msg_txt.
    ENDLOOP.
    ENDFORM. " file_check_report
    *& Form post_process_checks
    Check Material Batches in SAP against NP File
    FORM post_process_checks.
    RANGES: r_matnr FOR mchb-matnr,
    r_lgort FOR mchb-lgort,
    r_werks FOR mchb-werks.
    SORT t_stck_cnt.
    LOOP AT t_stck_cnt INTO w_stck_cnt.
    AT END OF matnr.
    r_lgort-sign = 'I'.
    r_lgort-option = 'EQ'.
    r_lgort-low = w_stck_cnt-lgort.
    APPEND r_lgort.
    r_werks-sign = 'I'.
    r_werks-option = 'EQ'.
    r_werks-low = w_stck_cnt-werks.
    APPEND r_werks.
    r_matnr-sign = 'I'.
    r_matnr-option = 'EQ'.
    r_matnr-low = w_stck_cnt-matnr.
    APPEND r_matnr.
    ENDAT.
    ENDLOOP.
    Select all material batches for NP Materials
    SELECT matnr charg clabs
    INTO TABLE t_batch_errors
    FROM mchb
    WHERE werks IN r_werks
    AND lgort IN r_lgort.
    IF sy-subrc EQ 0.
    Check if the Material Batches are in the NP file
    LOOP AT t_batch_errors INTO w_batch_errors.
    Disregard Batches without positive unrestricted stock
    IF w_batch_errors-clabs LE 0.
    DELETE t_batch_errors.
    CONTINUE.
    ENDIF.
    READ TABLE t_stck_cnt INTO w_stck_cnt
    WITH KEY matnr = w_batch_errors-matnr
    charg = w_batch_errors-charg.
    IF sy-subrc = 0.
    DELETE t_batch_errors.
    ENDIF.
    ENDLOOP.
    ENDIF.
    CHECK NOT t_batch_errors[] IS INITIAL.
    Write Batch chak results to report
    SKIP.
    WRITE: / text-b02.
    WRITE: / sy-uline(74).
    WRITE: /2 'Material',
    22 'Batch'.
    WRITE: /2 sy-uline(32).
    SKIP.
    LOOP AT t_batch_errors INTO w_batch_errors.
    WRITE: /2 w_batch_errors-matnr,
    22 w_batch_errors-charg.
    ENDLOOP.
    ENDFORM. " post_process_checks
    G E T _ I N T E R F A C E _ F I L E N A M E
    FORM get_interface_filename USING filename lw_path.
    DATA: i_file TYPE filename-fileintern,
    out_filename LIKE v_path-pathextern.
    CLEAR: out_filename.
    i_file = filename.
    get the interface filename to be used when creating file
    CALL FUNCTION 'FILE_GET_NAME'
    EXPORTING
    logical_filename = i_file
    IMPORTING
    file_name = out_filename
    EXCEPTIONS
    file_not_found = 1
    OTHERS = 2.
    IF sy-subrc = 0.
    MOVE out_filename TO lw_path.
    IF filename NE c_archive_file. "RM080107
    CONCATENATE lw_path 'NP_StockBalance.dat'
    INTO lw_path.
    *-- Begin RM080107 - Add timestamp to the archived file
    ELSE.
    CONCATENATE lw_path 'NP_StockBalance' sy-datum sy-uzeit '.dat'
    INTO lw_path.
    ENDIF.
    *-- End RM080107
    ELSE.
    ENDIF.
    ENDFORM. "get_interface_filename
    *& Form move_file RM080107
    Move the processed file to archive directory
    FORM move_file.
    *-- At last move the file to archive directory
    OPEN DATASET p_arch FOR OUTPUT IN TEXT MODE.
    IF sy-subrc = 0.
    LOOP AT t_rawdata INTO w_rawdata.
    TRANSFER w_rawdata TO p_arch.
    ENDLOOP.
    ENDIF.
    CLOSE DATASET p_arch.
    DELETE DATASET p_file.
    ENDFORM. " move_file
    Best regards,
    Prashant

  • RRI jump to BEx from EP is not working

    Friends,
    We have configured BI admin cockpit. When I click on any iView and then Go To->,
    all the jumps to Web GUI (tcodes) are wroking fine. But jump to BEx web application is not working.
    Go To-> Infocube Status : Analysis, * Analysis.. are not working. It shows "This page can not be displayed".
    But those templates are available in the system.
    If I try the same web applications from RSRT tcode, the RRI is working fine.
    Please help..
    Joe

    Hi Joe,
    Below link will helps you to solve the issue...
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a6c54319-0e01-0010-20a4-fb81ad32f330
    If not please take help from your admin guys(Basis people)
    Regards
    Sudheer

  • WBS element field in transaction CS71-F4 help is not working in ECC 6.0

    Hii
    In SAP, while working in SAP 4.7, tcode cs71, WBS element is coming via F4 Help. But after upgradation to ECC 6.0 EHP 5, this F4 help is not working. I can enter value manually.but F4 help is not working.
    Please Help.

    Hi,
    You can do it manually too
    1.  Choose function group 'CSDI' via Transaction SE80.
    2.  Choose screen '0260'in the 'Screens' area and switch to change mode
    3.  Choose the 'Element list' tab index.
    4.  In this area, choose the 'Reference' tab index and enter the value
        'PRP' in the 'Search help' column in the line for field
        'RC29N-PSPNR'.
    5.  Save your change and regenerate the screen.
    6.  The correct input help for the WBS element is now available in the
        initial screen of Transaction CS71/72/73.
    I hope F4 helps works for "Existing WBS BOM's" in CS71 after this
    Refer to Note : 714824 as well , it has reverted back the changes done by note : 422265
    Regards
    Gaurav

  • CJ20N is not working in SAP ECC 6.0

    Hello Everybody.
    In my SAP ECC 6.0 I log in SPANISH and launch tcode: CJ2ON - Project Builder and it transaction code does not work my session hangs and the message in the status bar is: 
    STARTING APLICATION PROJECT BUILDER (English)
    Inicio Aplicación Project Builder (Spanish)
    For my Customer is a must to use this tcode in Spanish. In English this transacction works fine.
    Here the level components:
    SAP_BASIS            | 700        | 0006  | SAPKB70006           | SAP Basis Component                                         |
    SAP_ABA
    700
    0006
    SAPKA70006
    Cross-Application Component
    PI_BASIS
    2005_1_700
    0007
    SAPKIPYJ77
    PI_BASIS 2005_1_700
    ST-PI
    2005_1_700
    0002
    SAPKITLQI2
    SAP Solution Tools Plug-In
    SAP_BW
    700
    0006
    SAPKW70006
    SAP NetWeaver BI 7.0
    SAP_AP
    700
    0003
    SAPKNA7003
    SAP Application Platform
    SAP_HR
    600
    0003
    SAPKE60003
    Human Resources
    SAP_APPL
    600
    0003
    SAPKH60003
    Logistics and Accounting
    EA-IPPE
    400
    0003
    SAPKGPID03
    SAP iPPE
    EA-APPL
    600
    0003
    SAPKGPAD03
    SAP R/3 Enterprise Add-On PLM, SCM, Financials
    EA-DFPS
    600
    0003
    SAPKGPDD03
    SAP R/3 Enterprise Defense Forces & Public Securit
    EA-HR
    600
    0003
    SAPKGPHD03
    SAP R/3 Enterprise Add-On HR
    EA-FINSERV
    600
    0003
    SAPKGPFD03
    SAP R/3 Enterprise Financial Services
    FINBASIS
    600
    0003
    SAPK-60003INFINBASIS
    Fin. Basis
    EA-PS
    600
    0003
    SAPKGPPD03
    SAP R/3 Enterprise Public Services
    EA-RETAIL
    600
    0003
    SAPKGPRD03
    SAP R/3 Enterprise Retail
    EA-GLTRADE
    600
    0003
    SAPKGPGD03
    SAP R/3 Enterprise Global Trade
    ECC-DIMP
    600
    0001
    SAPK-60001INECCDIMP
    DIMP
    ERECRUIT
    600
    0003
    SAPK-60003INERECRUIT
    E-Recruiting
    FI-CA
    600
    0003
    SAPK-60003INFICA
    FI-CA
    FI-CAX
    600
    0003
    SAPK-60003INFICAX
    FI-CA Extended
    INSURANCE
    600
    0003
    SAPK-60003ININSURANC
    SAP Insurance
    IS-CWM
    600
    0003
    SAPK-60003INISCWM
    Industry Solution Catch Weight Management
    IS-H
    600
    0003
    SAPK-60003INISH
    SAP Healthcare
    IS-M
    600
    0003
    SAPK-60003INISM
    SAP MEDIA
    IS-OIL
    600
    0003
    SAPK-60003INISOIL
    IS-OIL
    IS-PS-CA
    600
    0003
    SAPK-60003INISPSCA
    IS-PUBLIC SECTOR CONTRACT ACCOUNTING
    IS-UT
    600
    0003
    SAPK-60003INISUT
    SAP Utilities/Telecommunication
    SEM-BW
    600
    0003
    SAPKGS6003
    SEM-BW: Strategic Enterprise Management
    LSOFE
    600
    0003
    SAPK-60003INLSOFE
    SAP Learning Solution Front-End
    | ST-A/PI              | 01H_ECC600 | 0000  |      -               | Application Servicetools for ECC 600            
    Have you experienced this issue, can you please give your ideas to solve it ?

    Hello,
    SWUF is workflow runtime system administration? Seems it disappeared in 4.6 or 4.7.
    Try SWDC_RUNTIME and SWDC_DEFINITION - not sure if they are in ECC6.
    Let us know if this is the solution.
    regards
    Rick Bakker
    Hanabi Technology

Maybe you are looking for