Check unused code in maven dependency

Hi,
we have a few single projects and build them with a main pom.xml. Every single project has his own pom.xml. How can we use flexPMD to check if a function of project A is used in project B ?

At the moment, we can only detect violations at a class level. Not at a package, or a project, or even a module level.
Even if, that may be envisageable to detect violations at a package or project level in mid-term, this is unlikely to go as broad as a multi-projects level.
I hope this makes it clearer.
Xavier

Similar Messages

  • Steps to define company code and its dependent entries for mm,pm

    Hi Experts,
    kindly share that how to define company code and its dependent assignments for PM & MM module

    Dear Hitendra
    Company code, Contolling area, Profit Center are Financials related fields and are mapped under FI Enterprise structure as its Org unit. Plant (Logistics Plant) is defined in MM. Related modules like PP, PM, SD extend this logistics plant in their repsective modules as Production Planning Plant, Production Plant, Maintenance Planning Plant, Maintenance Plant, Sales Plant etc.
    Company code is never defined in any logistics moudle , its in Financials where it is defined. It is then assigned to the Plant in logistics thru which the company code gets populated easily in respective modules.In contolling end, its controlling area that talks.
    IMG-->SAP Customizing Implementation Guide->Enterprise Structure-->Definition-->Financial Accounting-->Edit, Copy, Delete, Check Company Code
    This is a very broad upper level details for your query. Please search the SCN in relevant spaces for more information.
    Award points if the above explanation was useful...
    KR
    Murad Ahmed.

  • BRF expression to check company code in SC

    Hello,
    I need to check company code in SC as a starting condition. There is standard expression 0V_IN_COMPANYCODE to check Company code in Invoice with those parameters :
    Result Type : C
    Access FM : /SAPSRM/WF_BRF_0EXP000
    0C_C1_C_FWFINRLCNTNT     Class: /SAPSRM/CL_WF_RULE_CONTXT_INV     C     30
    0C_C2_C_GET_PROPERTY     Method - Get Atrribute Value     C     12
    0C_C3_C_COMPANYCODE     Company Code     C     30
    I created a Z expression Z_SC_COMPANY with SC class and those parameters :
    Result Type : C
    Access FM : /SAPSRM/WF_BRF_0EXP000
    0C_C1_C_FWFSCRLCNTNT     Class: /SAPSRM/CL_WF_RULE_CONTXT_SC     C     28
    0C_C2_C_GET_PROPERTY     Method - Get Atrribute Value     C     12
    0C_C3_C_COMPANYCODE     Company Code     C     30
    In an other expression I check Z_SC_COMPANY = '1234' And it does NOT work.
    Any idea why?
    Thanks in advance.

    Hi,
    Please go to SWO1 transaction and check attributes for BUS2121 and BUS2205.
    You pass Company Code parameter which does not exist in SC. System can not get value from Business Object.
    You can create sub object and add attributes in SC Business Object if you need to use standard FM.
    Regards,
    Masa

  • PO creation-ME21n-Why SAP does not check company code and Plant relation

    Hi All,
    Does someone know, why SAP does not check Plant and company code relation at the time of PO creation or how can we put validation between plant and company code at the time of PO creation.
    <b>Example:</b> Suppose i have a company 0001 which is assinged to Plant 0001. when i am creating a PO with another company code 0002(Entering at header level-Org, data) and using Plant 0001 at line item level. SAP does not do this validation.
    How can we put this check in place?
    Thanks in advance.
    Deepak

    Hello Deepak,
    There are three types of purchasing
    - Company code specific :You need to assign company code to Pur organization
    - Plant specific : You must assign plant to pur organization
    - Cross company purchasing: No assignment between company code and pur organization.
    In the case 3, the system will not check company code and plant relationship, but it will check plant and pur organization specific.
    The following is the copy of sap help text:
    You can assign a purchasing organization to one company code. This is company-specific purchasing.
    You can assign a purchasing organization to no company code. This purchasing organization can then procure for all plants assigned to it, irrespective of the company code to which the plant belongs.
    Since each plant must be assigned to a company code, the company code can be determined via the plant in each procurement transaction, even if the procuring purchasing organization is not assigned to a company code.
    A purchasing organization must be assigned to one or more plants. This is plant-specific purchasing.
    Now, check your company-code and purchase organization assignment.
    Hope this helps.
    Regards
    Arif Mansuri

  • I didnt konw how to make a new account for my iTues card so i did it with a diffrent email but that email doesnt exist and when i tried to make it on a real email i just sai invalid code check the code and try again and can u please help me

    please help me it is a card of 25 dollars and i dont want it to go to waist i by mistake thought you used a frake email so i made one up i thought i was going to have a new one but then it said it was going to send a verifaction to my email so then i tried to use a real email and put in the code but it just kept on saying invalid code. check the code and try again. and i dont know what to do can u please please help me it was a gift and i really dont want it to go to waist please i need help

    for #1
    Frequently asked questions about Apple ID - Apple Support
    I have multiple Apple IDs. Is there a way for me to merge them into a single Apple ID?
    Apple IDs cannot be merged. You should use your preferred Apple ID from now on, but you can still access your purchased items such as music, movies, or software using your other Apple IDs.
    If you are wondering how using multiple Apple IDs relate to iCloud, see Apple IDs and iCloud.
    for #2
    Apple does not accept unsolicited ideas see Apple - Legal - Unsolicited Idea Submission Policy

  • Apple TV keeps asking my for my Credit Card verification code and I punch it in, still asks me for it, and restarted everything, went to my computer, checked the code, all is set, still can't rent a movie. Please help!

    Apple TV keeps asking my for my 3digit  Credit Card verification code and I punch it in, it still asks me for it, and went to my computer on iTunes store, checked the code, all is set and saved, go back to Apple TV still can't rent a movie, I still get the same Verification Required message without any further information after I punch in my 3digits. When I hit submit, the page goes back to the same place to type the code again, and yes the code is 100% accurate. I tried restoring the apple tv, every thing is up to date on all devices and signed in and out of my itunes store on my Mac, still no luck. Please help!

    This issue actually started a week ago... see: https://discussions.apple.com/message/23399558#23399558
    to determine if there are the same problems you are experiencing.  I have spent over 6 hours on this issue trying to isolate if it is a hardware, software, network, iTunes account, or Apple device issue.  My initial results indicate it is a software specific issue related to the Apply TV hardware device.

  • Please check the code

    I AM TRYING TO REPLICATE THE ADDRESS OF EQUIPMENT FROM ECC TO CRM.
    I AM ABLE TO REPLICATE THE IDENTIFICATION NUMBER.
    WHILE USING THE SAME FUNCTION MODULE FOR ADDRESS, THE ADDRESS IS NOT GETTING REPLICATED.
    PLEASE CHECK THE CODE AND TELL ME WHAT PRE-REQUISITES MUST BE TAKEN INTO CONSIDERATION AND IS THERE ANY MISTAKE FROM ME.
    FULL POINTS WILL BE REWARDED.
    ITS VERY VERY URGENT.
    METHOD IF_EX_CRM_EQUI_LOAD~ENLARGE_COMPONENT_DATA.
    **Data declarations
    DATA:
        ls_equi          type crmt_equi_mess,
        ls_comp          type ibap_dat1,
        ls_comp_det1     TYPE IBAP_COMP3,
        ls_address_data  type ADDR1_DATA,
        ls_object      type comt_product_maintain_api,
        ls_object1     type comt_product,
        lv_object_id   type IB_DEVICEID,
        lv_object_guid type IB_OBJNR_GUID16.
    **Map Sort field from ECC to CRM
    Read table it_equi_dmbdoc-equi into ls_equi index 1.
    lv_object_id  = ls_equi-equnr.
    move is_object to ls_object.
    move ls_object-com_product to ls_object1.
    lv_object_guid = ls_object1-product_guid.
    move is_component to ls_comp.
    ls_comp_det1-deviceid    = lv_object_id.
    ls_comp_det1-object_guid = lv_object_guid.
    ls_comp_det1-EXTOBJTYP   = 'CRM_OBJECT'.
    ls_comp_det1-ibase       = ls_comp-ibase.
    ls_address_data-roomnumber = '1000'.
    ls_address_data-floor = '10'.
    ls_address_data-country = 'US'.
    CALL FUNCTION 'CRM_IBASE_COMP_CHANGE'
      EXPORTING
       i_comp                       = ls_comp
       I_COMP_DET             = ls_comp_det1
       I_ADDRESS_DATA     = ls_address_data
      I_ADDRESS_ADMIN           =
      I_PARTNER                 =
      I_DATE                    =
      I_TIME                    =
    EXCEPTIONS
      DATA_NOT_CONSISTENT       = 1
      IBASE_LOCKED              = 2
      NOT_SUCCESFUL             = 3
      OTHERS                    = 4
    *IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ENDIF.
    ENDMETHOD.

    Hi S B,
    May I the procedure for the replication of serialnumber into device ID that is Identification field In Ibase.
    And one more thing need this to be codded in the standard badi or needed an copy of the implementation .
    plz help me as u already have done the requirement.
    u will be twice rewarded.
    Thanking u in advance for the reply.
    Sree.

  • How to check view code

    Hi all
    I have A view invoice_track
    i want to check the code of this view please guide me how i will check
    Thanks And Regards
    Vikas singhal

    vikas singhal wrote:
    Hai asif same result
    SQL> set linesize 1200
    SQL>  SELECT owner, text
    2   FROM all_views WHERE owner = 'NEERAJ'
    3    AND view_name = 'INVOICE_TRACK';
    OWNER                          TEXT
    ZENSOL1                        SELECT id as invoice_no, customer_name,
    nvl(dispatch_date,invoice_note_date) as
    SQL> Regards
    VikasUse
    SET long 100000

  • Syntax check of code

    I am passing certain code in table itab and then doing a syntax check using SYNTAX-CHECK FOR itab MESSAGE mess LINE lin WORD wrd .The problem with this method is it check the code line by line and assign mess with the first error msg  but I want to trap all the error message of the code in itab at once in another table.
    Is it possible to trap all the error msg at once in a internal table.

    Hi,
    This is similar to what ABAP Editor sytax check does. You cannot check sytax of the "futher" code as the "closer" code may affect the "further". Unless you correct the first error you cannot therefore check if futher lines are correct. If this worked like you want it would have to correct "closer" errors first by itself, then it could check rest of the code. But how the compilator (generall meaning) would have to know what to place there. This is of course impossible. There is no such compliator doing so in none of known to me programming languages.
    You may skip this by a trick. Looping at the table with a code and checking each line of this with a check syntax. Then collect all these errors within an error table.
    Nevetherless be carefull !! You would have to place excatly one statement per line in code table. Otherwise it won't pass the exam. Moreover you cannot use any of chain statements i.e.
    write: 'first line',
            'second line'.
    ...should be replaced with
    write 'first line'.
    write 'second line'.
    Hope this give you some idea:)
    Regards
    Marcin

  • How to check object code

    Dear Team,
    I want to check Object Code  of T_Code:OMJJ.
    In T_code:SE93.it not showing .
    How I check Perticulater Object Code for Transastion  OMJJ
    thanks
    kallis

    In SU24 it show
    @5B\QMaintained@     S_CTS_ADMI     Administration Functions in Change and Transport System     Check     NO
    @5B\QMaintained@     S_DATASET     Authorization for file access     Check     NO
    @5B\QMaintained@     S_DEVELOP     ABAP Workbench     Check     NO
    @5B\QMaintained@     S_DOKU_AUT     SE61 Documentation Maintenance Authorization     Check     NO
    @5B\QMaintained@     S_GUI     Authorization for GUI activities     Check     NO
    @5B\QMaintained@     S_PRO_AUTH     IMG: New authorizations for projects     Check     NO
    @5B\QMaintained@     S_PROJECT     Project Management: Project authorization     Check     NO
    @5B\QMaintained@     S_TABU_DIS     Table Maintenance (via standard tools such as SM30)     Check     NO
    @5B\QMaintained@     S_TABU_RFC     Client Comparison and Copy: Data Export with RFC     Check     NO
    @5B\QMaintained@     S_TCODE     Transaction Code Check at Transaction Start     Check     NO
    @5B\QMaintained@     S_TRANSLAT     Translation environment authorization object     Check     NO
    @5B\QMaintained@     S_TRANSPRT     Transport Organizer     Check     NO
    It show So many Object  and it standed object .and at last it show NO in Proposal Colom
    Thanks
    kallis

  • How to check postal code contains only 0 to 9

    Hi all,
    How to check postal code contains only 0 to 9
    thank you

    Hi
    Check the below link.It may help you out.
    http://help.sap.com/saphelp_47x200/helpdata/en/d3/2e974d35c511d1829f0000e829fbfe/frameset.htm
    Cheers,
    Hakim
    mark all useful answers

  • How to check the code source of some function in the portal.

    hi all.
    i have some problem  in the portal.
    i use the ESS in the portal, and now some people can not check their salary.
    i want to check the code source, but i do not know it uses which program.
    can some one tell me the way to check the program.
    best regards.

    If you want to access the source code of any ESS component, you will need access to NWDI. NWDI NWDI = NetWeaver Development Infrastructure, it provide the tools and process to build new / modify existing applications built using NWDS. There are plenty of threads discussing how to set up NWDI, you may search for the same.
    However if the payslip problem is only for some users, it could also be a pdf issue, have you tried running the payslip for those select users within ECC?
    Thanks,
    GLM

  • Material Consumption Report all expert requested to check my code

    Hi all guru
    Plz
    I am creating Material Consumption Report
    so  all expert are requested to check my code
    bcz its giving me wrong value change if nessary
    *& Report  Z_MATERIAL_CONSUPTION
    *&IEDK901096
    REPORT  Z_MATERIAL_CONSUPTION
    LINE-COUNT 65(2)
      LINE-SIZE 345
    MESSAGE-ID zate_msg
      NO STANDARD PAGE HEADING.
    *T A B L E S
    TABLES:MARC,
           mara,
           makt,
           mard,
           mbew,
           mseg,
           mkpf.
    T Y P E S
    Types for MARC
    TYPES: begin of ty_marc,
            matnr LIKE marc-matnr,
            werks LIKE marc-werks,
           end of ty_marc.
    ********Types for T001W*****
    TYPES:BEGIN OF ty_t001w,
            werks LIKE t001w-werks,
            name1 LIKE t001w-name1,
          END OF ty_t001w.
    ********Types for MARA*****
    TYPES:BEGIN OF TY_MARA,
           matnr LIKE mara-matnr,
           mtart LIKE mara-mtart,
           matkl LIKE mara-mtart,
          END OF ty_mara.
    ********Types for MAKT*****
    TYPES:BEGIN OF ty_makt,
           matnr LIKE makt-matnr,
           spras LIKE makt-spras,
           maktx LIKE makt-maktx,
           END OF ty_makt.
    ********Types for MKPF*****
    TYPES:BEGIN OF ty_mkpf,
           mblnr LIKE mkpf-mblnr,
           budat LIKE mkpf-budat,
      END OF ty_mkpf.
    ********Types for MSEG*****
      TYPES:BEGIN OF ty_mseg,
            mblnr LIKE mseg-mblnr,
            mjahr LIKE mseg-mjahr,
            matnr LIKE mseg-matnr,
            werks LIKE mseg-werks,
            menge LIKE mseg-menge,
            END OF ty_mseg.
    Types for main **************
    TYPES: begin of ty_main,
            matkl LIKE mara-mtart,
            mtart LIKE mara-mtart,
            matnr LIKE mara-matnr,
            werks LIKE marc-werks,
            name1 LIKE t001w-name1,
            maktx LIKE makt-maktx,
            budat LIKE mkpf-budat,
            mblnr LIKE mseg-mblnr,
            mjahr LIKE mseg-mjahr,
            menge LIKE mseg-menge,
            menge1 LIKE mseg-menge,
            bwart LIKE mseg-bwart,
            ret_qty LIKE mseg-menge,
            ret_*** LIKE mseg-menge,
            unit_qty LIKE mseg-menge,
            unit_*** LIKE mseg-menge,
            wip_qty LIKE mseg-menge,
            wip_*** LIKE mseg-menge,
            sub_qty LIKE mseg-menge,
            sub_*** LIKE mseg-menge,
            oth_qty LIKE mseg-menge,
            oth_*** LIKE mseg-menge,
            end of ty_main.
    Types for main2 **************
    TYPES: begin of ty_main2,
            mblnr LIKE mseg-mblnr,
            werks LIKE marc-werks,
            mjahr LIKE mseg-mjahr,
            menge LIKE mseg-menge,
            bwart LIKE mseg-bwart,
            matnr LIKE mara-matnr,
            mtart LIKE mara-mtart,
            matkl LIKE mara-mtart,
            end of ty_main2.
    *I N T E R N A L    T A B L E S
    DATA:it_mara   TYPE ty_mara  OCCURS 0 WITH HEADER LINE,
         it_marc   TYPE ty_marc  OCCURS 0 WITH HEADER LINE,
         it_t001w  TYPE ty_t001w OCCURS 0 WITH HEADER LINE,
         it_makt   TYPE ty_makt  OCCURS 0 WITH HEADER LINE,
         it_main   TYPE ty_main  OCCURS 0 WITH HEADER LINE,
         it_main2   TYPE ty_main2  OCCURS 0 WITH HEADER LINE,
         it_mkpf   TYPE ty_mkpf  OCCURS 0 WITH HEADER LINE,
        it_mseg   TYPE ty_mseg  OCCURS 0 WITH HEADER LINE,
         it_mseg   TYPE ty_main  OCCURS 0 WITH HEADER LINE,
         it_dept   TYPE ty_main2 OCCURS 0 WITH HEADER LINE,
         it_unit   TYPE ty_main2 OCCURS 0 WITH HEADER LINE,
         it_WIP    TYPE ty_main2 OCCURS 0 WITH HEADER LINE,
         it_subcon TYPE ty_main2 OCCURS 0 WITH HEADER LINE,
         it_others TYPE ty_main2 OCCURS 0 WITH HEADER LINE.
    **********I N T E R N A L   T A B L E S for Cumulative Calculation**********
    DATA:it_mseg1   TYPE ty_main  OCCURS 0 WITH HEADER LINE,
         it_dept1   TYPE ty_main2 OCCURS 0 WITH HEADER LINE,
         it_unit1   TYPE ty_main2 OCCURS 0 WITH HEADER LINE,
         it_WIP1    TYPE ty_main2 OCCURS 0 WITH HEADER LINE,
         it_subcon1 TYPE ty_main2 OCCURS 0 WITH HEADER LINE,
         it_others1  TYPE ty_main2 OCCURS 0 WITH HEADER LINE.
    W O R K   A R E A
    DATA:wa_mara  TYPE ty_mara,
         wa_marc  TYPE ty_marc,
         wa_t001w TYPE ty_t001w,
         wa_makt  TYPE ty_makt,
         wa_main  TYPE ty_main,
         wa_main2  TYPE ty_main2,
         wa_mkpf  TYPE ty_mkpf,
         wa_mseg  TYPE ty_mseg,
         wa_mseg1 TYPE ty_mseg,
         wa_dept  TYPE ty_main2,
         wa_ret_qty TYPE ty_main2,
         wa_ret_*** TYPE ty_main2.
    V A R I A B L E S  D E C L A R A T I O N
    DATA: MYDATE TYPE SY-DATUM,
          per_qty TYPE p,
          ***_qty TYPE p ,
          final_total TYPE p DECIMALS 2.
    S E L E C T I O N  S C R E E N
    SELECTION-SCREEN:BEGIN OF BLOCK B1 WITH FRAME TITLE text-001.
      PARAMETERS:Plant LIKE marc-werks DEFAULT '1023'.
      select-options:Mat_Grp     FOR mara-matkl,
                     Mat_Type    FOR mara-mtart,
                     MATERIAL    FOR MARC-MATNR,
                     Period      FOR mydate.
    PARAMETERS:Year  LIKE mseg-mjahr DEFAULT '2007'.
      SELECTION-SCREEN:END OF BLOCK B1.
    I N I T I A L I Z A T I O N
    INITIALIZATION.
    MATERIAL-LOW = '100'.
    MATERIAL-HIGH = '200'.
    APPEND MATERIAL.
    *MAT_TYPE-LOW = 'ABF'.
    *MAT_TYPE-HIGH = 'FERT'.
    *APPEND MAT_TYPE.
    *MAT_GRP-LOW = '100'.
    *MAT_GRP-HIGH = '200'.
    *APPEND MAT_GRP.
    *PERIOD-LOW = '20071001'.
    *PERIOD-HIGH = '20071031'.
    *APPEND PERIOD.
    S T A R T  O F  S E L E C T I O N
    start-of-selection.
    PERFORM it_mara_data.
    PERFORM it_marc_data.
    PERFORM it_t001w_data.
    PERFORM it_makt_data.
    PERFORM it_mseg_data.
    PERFORM it_mseg1_data. "CUMULATIVE  CALCULATION
    PERFORM it_mkpf_data.
    PERFORM it_dept_data.
    PERFORM it_dept1_data. "CUMULATIVE  CALCULATION
    PERFORM it_unit_data.
    PERFORM it_unit_data1. "CUMULATIVE  CALCULATION
    PERFORM it_wip_data.
    PERFORM it_wip_data1.  "CUMULATIVE  CALCULATION
    PERFORM it_sub_contract.
    PERFORM it_sub_contract1. "CUMULATIVE  CALCULATION
    PERFORM it_main_data.
    T O P   O F   P A G E
    TOP-OF-PAGE.
    WRITE: /1 'INOX AIR PRODUCTS LTD',plant,it_t001w-name1,
           /1 'TOTAL CONSUMPTION FOR THE PERIODE:',Period-low,'To',period-high.
    skip 2.
    FORMAT COLOR 1.
    ULINE.
    WRITE: /1'|','CODE ' ,
            15 'MATERIAL' ,
            30 'DESCRIPTION',
            90'CONSUMPTION' ,
            135'RETURN FROM DEPT.' ,
            170'INTER UNIT' ,
            210'W.I.P' ,
            240'SUB-CONTRACTOR' ,
            275'OTHERS' ,
            310'TOTAL',345'|' ,
           /1'|',15 'TYPE',
            85'FOR PERIOD' ,
            100 ' CUMULATIVE' ,
            130'FOR PERIOD' ,
            145 'CUMULATIVE' ,
            165'FOR PERIOD' ,
            180 'CUMULATIVE' ,
            200'FOR PERIOD' ,
            215'CUMULATIVE' ,
            235'FOR PERIOD' ,
            250'CUMULATIVE' ,
            265'FOR PERIOD' ,
            280 'CUMULATIVE' ,
            300'FOR PERIOD' ,
            315' CUMULATIVE' ,
            345'|' .
    ULINE.
    E N D   O F  S E L E C T I O N
    end-OF-SELECTION.
    PERFORM display_data.
    FORM it_mara_data.
        SELECT matnr
               mtart
               matkl
          FROM mara INTO CORRESPONDING FIELDS OF TABLE it_mara
          WHERE matnr IN material       AND
                mtart IN mat_type  AND
                matkl IN mat_grp.
    ENDFORM.                    " it_mara_data
    FORM it_marc_data .
    select matnr
           werks
      from marc
      into CORRESPONDING FIELDS OF TABLE  it_marc
            FOR ALL ENTRIES IN it_mara
      WHERE MATNR eq it_mara-matnr AND
            werks eq plant.
    ENDFORM.                    " it_marc_data
    FORM it_makt_data .
      SELECT
            matnr
            maktx
            FROM makt INTO
            CORRESPONDING FIELDS OF TABLE it_makt
            FOR ALL ENTRIES IN it_mara
            WHERE matnr eq it_mara-matnr.
    ENDFORM.                    " it_makt_data
    FORM it_main_data .
    *BREAK-POINT.
      loop at it_mara.
        wa_main-matnr = it_mara-matnr.
        wa_main-mtart = it_mara-mtart.
        wa_main-matkl = it_mara-matkl.
        READ TABLE it_marc WITH KEY  matnr = it_mara-matnr.
        wa_main-werks = it_marc-werks.
        READ TABLE it_t001w WITH KEY   werks = it_marc-werks.
        wa_main-name1 = it_t001w-name1.
        READ TABLE it_makt WITH  KEY matnr = it_mara-matnr.
        wa_main-maktx = it_makt-maktx.
        READ TABLE it_mseg1 INDEX sy-tabix.
          wa_main-mjahr = it_mseg1-mjahr.
          wa_main-menge1 =  it_mseg1-menge.
        READ TABLE it_mseg WITH  KEY matnr = it_mara-matnr.
       READ TABLE it_mseg INDEX sy-tabix.
        wa_main-mblnr = it_mseg-mblnr.
        wa_main-menge = it_mseg-menge.
        READ TABLE it_dept WITH  KEY mblnr = it_mseg-mblnr.
        wa_main-ret_qty = it_dept-menge.
       READ TABLE it_dept1 WITH KEY werks = it_marc-werks.
        READ TABLE it_dept1 INDEX sy-tabix.
        wa_main-ret_*** = it_dept1-menge.
        READ TABLE it_mkpf WITH  KEY mblnr = it_mseg-mblnr.
        wa_main-budat = it_mkpf-budat.
       READ TABLE it_unit1 WITH KEY werks = it_marc-werks.
        READ TABLE it_unit1 INDEX sy-tabix. "BINARY SEARCH.
        wa_main-unit_*** = it_unit1-menge.
        READ TABLE it_unit WITH KEY mblnr = it_mseg-mblnr.
        wa_main-unit_qty = it_unit-menge.
        READ TABLE it_wip WITH  KEY mblnr = it_mseg-mblnr.
        wa_main-wip_qty = it_wip-menge.
       READ TABLE it_wip1 WITH  KEY werks = it_marc-werks.
        READ TABLE it_wip1 INDEX sy-tabix.
        wa_main-wip_qty = it_wip1-menge.
        READ TABLE it_subcon WITH KEY mblnr = it_mseg-mblnr.
        wa_main-sub_qty = it_subcon-menge.
       READ TABLE it_subcon1 WITH KEY werks = it_marc-werks.
        READ TABLE it_subcon1 INDEX sy-tabix.
        wa_main-sub_*** = it_subcon1-menge.
        READ TABLE it_others WITH  KEY mblnr = it_mseg-mblnr.
        wa_main-oth_qty = it_others-menge.
       READ TABLE it_others1 WITH  KEY werks = it_marc-werks.
        READ TABLE it_others1 INDEX sy-tabix.
        wa_main-oth_*** = it_others1-menge.
        APPEND wa_main to it_main.
        CLEAR : wa_main,
                it_mseg1,
                it_main.
        ENDLOOP.
       LOOP at it_mseg1.
         READ TABLE it_mseg INDEX sy-index.
         MOVE-CORRESPONDING it_mseg1 to it_main.
         append LINES OF it_mseg1 TO it_main.
          IF sy-subrc <> 0.
            exit.
            ENDIF.
         ENDLOOP.
    ENDFORM.                    " it_main_data
    FORM display_data .
      SORT it_main by matkl mtart maktx.
      LOOP AT it_main ."WHERE menge eq it_mseg1-menge.
      at NEW matkl.
        FORMAT COLOR 2 INTENSIFIED ON.
        WRITE:/5 it_main-matkl." COLOR 2.
            ENDAT.
          at NEW mtart.
            FORMAT COLOR 3 INTENSIFIED ON.
             WRITE:/15  it_main-mtart." COLOR 3.
             ENDAT.
           at NEW maktx.
             FORMAT COLOR 4 INTENSIFIED OFF.
             WRITE:/ it_main-maktx UNDER 'DESCRIPTION'.
          ENDAT.
          FORMAT COLOR 2 INTENSIFIED ON.
         WRITE:/75 it_main-menge, "it_main-maktx UNDER 'DESCRIPTION',
                95 it_main-menge1,
               125 it_main-ret_qty,
               140 it_main-ret_***,
               160 it_main-unit_qty,
               175 it_main-unit_***,
               195 it_main-wip_qty,
                     210 it_main-wip_***,
                     225 it_main-sub_qty,
                     240 it_main-sub_***,
                     255 it_main-oth_qty,
                     270 it_main-oth_***.
         FORMAT COLOR 2 INTENSIFIED OFF.
         at END OF mtart.
           sum.
           uline.
           WRITE:/30 'MAT. TYPE WISE SUB TOTAL' COLOR COL_GROUP,
                  60 IT_MAIN-MTART COLOR 2,
                  75 '*',it_main-menge,'*' COLOR 4,
                  95 it_main-menge1,
                  125 it_main-ret_qty,
                  140 it_main-ret_***,
                  160 it_main-unit_qty,
                  175 it_main-unit_***,
                  195 it_main-wip_qty,
                     210 it_main-wip_***,
                     225 it_main-sub_qty,
                     240 it_main-sub_***,
                     260 it_main-oth_qty,
                     270 it_main-oth_***.
           uline.
           ENDAT.
           at END OF matkl.
           sum.
           uline.
           WRITE:/30 'GROUPWISE SUB TOTAL ' COLOR 5,
                  60 IT_MAIN-MATKL COLOR 2,
                  75 '*',it_main-menge,'*' COLOR 4,
                  95 it_main-menge1,
                  125 it_main-ret_qty,
                  140 it_main-ret_***,
                  160 it_main-unit_qty,
                  175 it_main-unit_***,
                  195 it_main-wip_qty,
                     210 it_main-wip_***,
                     225 it_main-sub_qty,
                     240 it_main-sub_***,
                     260 it_main-oth_qty,
                     270 it_main-oth_***.
           uline.
           ENDAT.
           at LAST.
             sum.
              uline.
              WRITE:/30 'GROSS TOTAL' COLOR 6,
                     60 IT_MAIN-MATKL COLOR 2,
                     75 '*',it_main-menge,'*' COLOR 4,
                     95 it_main-menge1,
                     125 it_main-ret_qty,
                     140 it_main-ret_***,
                     160 it_main-unit_qty,
                     175 it_main-unit_***,
                     195 it_main-wip_qty,
                     210 it_main-wip_***,
                     225 it_main-sub_qty,
                     240 it_main-sub_***,
                     260 it_main-oth_qty,
                     270 it_main-oth_***.
                uline.
            ENDAT.
             per_qty = it_main-menge.
             ***_qty = it_main-menge1.
             final_total = per_qty + ***_qty.
            at last.
             WRITE:/95 sy-uline(30).
               write:/65 'Final Cumulative Qty >>>>>>>>>',final_total color 6.
               WRITE:/95 sy-uline(30).
             ENDAT.
           FORMAT INTENSIFIED off.
        ENDLOOP.
    ENDFORM.                    " display_data
                        " it_mkpf_data
    FORM it_mseg_data .
      SELECT
        mblnr
        matnr
        ZEILE
        werks
        menge
        bwart
        FROM mseg INTO CORRESPONDING FIELDS OF TABLE it_mseg
        FOR ALL ENTRIES IN it_mara
        WHERE  matnr eq it_mara-matnr AND
               werks eq plant AND
               bwart eq 261." AND bwart eq 262.
    CLEAR it_mseg.
    ENDFORM.                    " it_mseg_data
    FORM it_mkpf_data .
      SELECT
        mblnr
        budat
        FROM mkpf INTO CORRESPONDING FIELDS OF TABLE it_mkpf
        FOR ALL ENTRIES IN it_mseg
        WHERE mblnr eq it_mseg-mblnr."  AND
             budat BETWEEN  Period-low AND period-high.
    ENDFORM.
    FORM it_t001w_data .
        SELECT werks name1 FROM t001w INTO CORRESPONDING FIELDS OF TABLE it_t001w
          FOR ALL ENTRIES IN it_marc
          WHERE werks eq it_marc-werks.
    ENDFORM.                    " it_t001w_data
    FORM it_mseg1_data .
        SELECT
                mblnr
                mjahr
                ZEILE
                matnr
                werks
                menge
                bwart
        FROM mseg INTO CORRESPONDING FIELDS OF TABLE it_mseg1
        FOR ALL ENTRIES IN it_mara
        WHERE  matnr eq it_mara-matnr   AND
               werks eq plant          AND
               mjahr eq Year            AND
              bwart eq 261." AND bwart eq 262.
    CLEAR it_mseg1.
    ENDFORM.                    " it_mseg1_data
    FORM it_dept_data .
      SELECT
                mblnr
                mjahr
                ZEILE
                werks
                menge
                bwart
         FROM mseg INTO CORRESPONDING FIELDS OF TABLE it_dept
         FOR ALL ENTRIES IN it_mseg
         WHERE mblnr eq it_mseg-mblnr AND
               werks eq it_mseg-WERKS AND
               bwart ge 291 AND bwart le 292.
    ENDFORM.
                        " it_dept_data
    FORM it_dept1_data .
         SELECT
                mblnr
                mjahr
                ZEILE
                werks
                menge
                bwart
         FROM mseg INTO CORRESPONDING FIELDS OF TABLE it_dept1
         FOR ALL ENTRIES IN it_mara
         WHERE matnr eq it_mara-matnr AND
               werks eq plant         AND
               mjahr eq YEAR          AND
               bwart ge 291 and bwart le 292.
        ENDFORM.                    " it_dept1_data
    FORM it_unit_data .
      SELECT
                mblnr
                mjahr
                ZEILE
                werks
                menge
                bwart
         FROM mseg INTO CORRESPONDING FIELDS OF TABLE it_unit
         FOR ALL ENTRIES IN it_mseg
         WHERE mblnr eq it_mseg-mblnr AND
               werks eq it_mseg-WERKS AND
               bwart ge 301 AND bwart le 302.
    ENDFORM.                    " it_unit_data
    FORM it_unit_data1 .
        SELECT
                mblnr
                mjahr
                ZEILE
                werks
                menge
                bwart
         FROM mseg INTO CORRESPONDING FIELDS OF TABLE it_unit1
         FOR ALL ENTRIES IN it_mara
         WHERE matnr eq it_mara-matnr AND
               werks eq plant         AND
               mjahr eq YEAR          AND
               bwart ge 301 AND bwart le 302.
        ENDFORM.                    " it_unit_data1
    FORM it_wip_data .
      SELECT
                mblnr
                mjahr
                ZEILE
                werks
                menge
                bwart
         FROM mseg INTO CORRESPONDING FIELDS OF TABLE it_wip
         FOR ALL ENTRIES IN it_mseg
         WHERE mblnr eq it_mseg-mblnr AND
               werks eq it_mseg-WERKS AND
               bwart ge 301 AND bwart le 302.
    ENDFORM.                    " it_wip_data
    FORM it_wip_data1 .
         SELECT
                mblnr
                mjahr
                ZEILE
                werks
                menge
                bwart
         FROM mseg INTO CORRESPONDING FIELDS OF TABLE it_wip1
         FOR ALL ENTRIES IN it_mara
         WHERE matnr eq it_mara-matnr AND
               werks eq plant         AND
               mjahr eq YEAR          AND
               bwart ge 301 AND bwart le 302.
    ENDFORM.                    " it_wip_data1
    FORM it_sub_contract .
        SELECT
                mblnr
                mjahr
                ZEILE
                werks
                menge
                bwart
         FROM mseg INTO CORRESPONDING FIELDS OF TABLE it_subcon
         FOR ALL ENTRIES IN it_mseg
         WHERE mblnr eq it_mseg-mblnr AND
               werks eq it_mseg-WERKS AND
               bwart eq 541." AND bwart eq 542.
    ENDFORM.                    " it_sub_contract
    FORM it_sub_contract1 .
          SELECT
                mblnr
                mjahr
                ZEILE
                werks
                menge
                bwart
         FROM mseg INTO CORRESPONDING FIELDS OF TABLE it_subcon1
         FOR ALL ENTRIES IN it_mara
         WHERE matnr eq it_mara-matnr AND
               werks eq plant         AND
               mjahr eq YEAR          AND
               bwart eq 541." AND bwart eq 542.
    ENDFORM.                    " it_sub_contract1

    Hi,
    When ever you are using a read statement check sy-subrc is initial or not then only you move the data
    and clear the work area after use.
    The mistake you have done is not clearing the work areas after use and sy-subrc check after read.
    If you fail to do so the data will be clubbed and wrong data will be shown.
    Regards,
    Siva
    Pls reward points if usefull .

  • Check the code pls. getting attachment but some data missing

    HI all,
    PLs check the  code. I am getting mail in the attachment is having only " 12".  i am not getting 13 and 14.
    where i am doing wrong. ?
    TABLES:adr6.
    TYPES: BEGIN OF t_test,
    x(3),
    y(3),
    z(3),
    END OF t_test.
    DATA: itab TYPE STANDARD TABLE OF t_test,
    wa TYPE t_test.
    SELECT-OPTIONS : s_rcvr FOR adr6-smtp_addr LOWER CASE VISIBLE LENGTH 30
    NO INTERVALS OBLIGATORY.
    wa-x = 12.
    wa-y = 13.
    wa-z = 14.
    APPEND wa TO itab.
    *LOOP at itab INTO wa.
    WRITE:/ wa-x, wa-y, wa-z.
    *ENDLOOP.
    PERFORM send_email.
    **& Form send_email
    *text
    *--> p1 text
    *<-- p2 text
    FORM send_email .
      DATA : lo_mail_docu TYPE REF TO cl_document_bcs,
      lo_sender TYPE REF TO if_sender_bcs VALUE IS INITIAL,
      lo_recipient TYPE REF TO if_recipient_bcs VALUE IS INITIAL ,
      lo_send_request TYPE REF TO cl_bcs VALUE IS INITIAL ,
      l_oref TYPE REF TO cx_root,
      l_message_body TYPE bcsy_text VALUE IS INITIAL,
      l_message_line LIKE LINE OF l_message_body,
      l_doc_subject TYPE so_obj_des,
      l_file_subject TYPE so_obj_des,
      l_mail_subject TYPE string,
      l_text TYPE string.
      DATA itab_bin TYPE TABLE OF solix.
      CONCATENATE 'Error' ' Log ' INTO l_doc_subject SEPARATED BY space.
      l_mail_subject = l_doc_subject.
      CALL FUNCTION 'SCMS_TEXT_TO_BINARY'
        TABLES
          text_tab   = itab
          binary_tab = itab_bin.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      CONCATENATE 'Attached is the' 'log file generated '
      INTO l_message_line-line SEPARATED BY space.
      APPEND l_message_line TO l_message_body.
      APPEND '' TO l_message_body. APPEND '' TO l_message_body.
      TRY.
          lo_mail_docu = cl_document_bcs=>create_document(
          i_type = 'RAW'
          i_text = l_message_body
          i_subject = l_doc_subject ).
          lo_mail_docu->add_attachment(
          EXPORTING
          i_attachment_type = 'TXT'
          i_attachment_subject = l_file_subject
          i_att_content_hex = itab_bin ).
          lo_send_request = cl_bcs=>create_persistent( ).
          CALL METHOD lo_send_request->set_message_subject
            EXPORTING
              ip_subject = l_mail_subject.
          LOOP AT s_rcvr .
            lo_recipient = cl_cam_address_bcs=>create_internet_address( s_rcvr-low ).
            lo_send_request->add_recipient(
            EXPORTING
            i_recipient = lo_recipient
            i_express = '' ).
          ENDLOOP.
          lo_send_request->set_document( lo_mail_docu ).
          lo_send_request->set_send_immediately( 'X' ).
          lo_send_request->send( ).
        CATCH : cx_send_req_bcs INTO l_oref,
        cx_document_bcs INTO l_oref,
        cx_address_bcs INTO l_oref.
      ENDTRY.
      COMMIT WORK.
      FREE : lo_mail_docu, lo_send_request, lo_sender, lo_recipient, l_oref.
      REFRESH : l_message_body, itab_bin.
      CLEAR : l_message_line, l_doc_subject, l_mail_subject, l_file_subject,
      l_text.
    ENDFORM.                    "send_email
    Thanks
    krupali

    HI Jelena,
    I think we cannot commenting the
    CALL FUNCTION 'SCMS_TEXT_TO_BINARY'  because we are transfering the data in binary format.
    Have you got the mail with full ITAb data ?
    have you tried it ?
    I have tried by commenting the
    CALL FUNCTION 'SCMS_TEXT_TO_BINARY'  but getting syntax error.
    Any other idea please  ?
    Thanks in advance
    krupali.

  • Create new check in code inspector.

    Hi All,
      I am doing a customizing in code inspector but i don't know whether we can create a new check in code inspector which will check for the performance issues. So please can anyone help me in giving a solution for adding a new performance check in code inspector....... since i am new to ABAP i am unable to figure it out...

    Have you really checked that the existing categories "performance checks" and "internal performance checks" do not contain already what you're looking for?
    You can create an own check as described in this blog
    /people/peter.inotai/blog/2006/11/02/code-inspector--how-to-create-a-new-check
    Thomas

Maybe you are looking for