Batch no. logic

Hi Experts,
I ve 2 finish products and i want diff no. range for both.(according to material code:alphanumatic)
But prob is that my batch number is date specific thats why number range change daily.
ie. if batch no. is 07 08 12 1 AA,  07 08 12 2 AA etc.
07 represent month
08 represent year
12 represent date
1 represent randum batch on that day
AA material code
same for anothe material 07 08 12 1 BB, 07 08 12 2 BB etc
Now it is possible to do manual batch creation.
I want automatic batch creation as i ve lot of products and want to daily update no. logic automatically.
So friends just tell me is it possible and if possible how?
tarachand

HI,
Harriesh
Currently i am doing manual batch creation with external no range. At the time of order creation i am giving batch no like 0708121AA.
But now i want to do it automatic for different material with diff no. range (includes material code:-AA, BB,CC etc.) and no. range should daily updated as per date changes.
So please tell is it possible? if yes How? and if NO? tell me possible solution up to how much level i can do the atomization?
Waiting for valuable responce
Tarachand
Edited by: tarachand bhapkar on Oct 3, 2008 7:10 AM

Similar Messages

  • Batch Derivation Logic

    Dear Experts,
    I have one issue in Batch derivation Logic: For Batch derivation we have to create Strategy Type & Condition Type suppose if i create 2 condition types for sending Material like 1) Plant specific means In condion Table We have to give Sender Material Type & Plant & 2) Client Specific means in Condition Table we have to give only Sender Material Type then which condition type system will take while Batch Derivation.
    Regards,
    Shivkumar Dachawar

    Dear Experts,
    I have one issue in Batch derivation Logic: For Batch derivation we have to create Strategy Type & Condition Type suppose if i create 2 condition types for sending Material like 1) Plant specific means In condion Table We have to give Sender Material Type & Plant & 2) Client Specific means in Condition Table we have to give only Sender Material Type then which condition type system will take while Batch Derivation.
    Regards,
    Shivkumar Dachawar

  • Batch splitting logic

    Hi
    I am required to add batch splitting logic in below code.
    Any one tell me how to do this
    PERFORM get_invoice_data.
      PERFORM filter_invoice_data.
    FORM get_invoice_data.
        SELECT k~vkorg k~vbeln k~fkart k~vtweg k~fkdat  "CHOYT CHG#1589121
               k~waerk k~bzirk k~regio
               k~BSTNK_VF                                       "Mod-010++
               p~posnr p~vkgrp p~vkbur p~mvgr5 p~matnr
               p~arktx p~fkimg p~vrkme p~netwr p~mwsbp
               p~aubel p~vgbel p~vgtyp
               p~charg p~werks k~fkart
               k~xblnr
          INTO CORRESPONDING FIELDS OF TABLE t_vbrp
          FROM vbrk AS k INNER JOIN vbrp AS p
            ON k~vbeln = p~vbeln
         WHERE k~vkorg IN s_vkorg "<< MOD CHOYT CHG#1589121
           AND k~fkdat IN s_fkdat
           AND k~vtweg IN s_vtweg
           AND k~rfbsk = 'C'      " Accounting document has been created
           AND vkgrp IN s_vkgrp
           AND vkbur IN s_vkbur.
    ENDFORM.                    " get_invoice_data
    FORM filter_invoice_data.
      DATA lt_vbpa LIKE t_vbpa OCCURS 0 WITH HEADER LINE.
    If not t_vbrp[] is initial. "Mod-004++
      REFRESH lt_vbpa.
      SELECT vbeln parvw kunnr
        FROM vbpa
        INTO CORRESPONDING FIELDS OF TABLE lt_vbpa
        FOR ALL ENTRIES IN t_vbrp
       WHERE vbeln = t_vbrp-vbeln
         AND posnr = '000000'.    " Header partner
      SELECT vbeln parvw kunnr
        FROM vbpa
        APPENDING CORRESPONDING FIELDS OF TABLE lt_vbpa
        FOR ALL ENTRIES IN t_vbrp
       WHERE vbeln = t_vbrp-vbeln
         AND parvw = 'WE'.    " Header partner
    Endif. "Mod-004++
      SORT lt_vbpa BY vbeln.
      t_vbpa[] = lt_vbpa[].
        LOOP AT lt_vbpa WHERE vbeln = t_vbrp-vbeln
                          AND parvw IN s_parvw
                          AND kunnr IN s_kunnr.
          EXIT.
        ENDLOOP.
        IF sy-subrc <> 0.
          DELETE t_vbrp.
        ENDIF.
      ENDLOOP.
      IF c_prf = 'X'.                                           "KA01
        SORT t_vbrp DESCENDING BY posnr vbeln fkart.            "KA01
        SORT t_vbrp DESCENDING BY vgbel fkart.
       LOOP AT t_vbrp WHERE rfbsk NE 'C'.
          t_vbrp_c = t_vbrp.
          APPEND t_vbrp_c.
          DELETE t_vbrp.
        ENDLOOP.
        SORT t_vbrp_c DESCENDING BY vgbel vgpos vbeln.
        DELETE ADJACENT DUPLICATES FROM t_vbrp_c
               COMPARING vgbel vgpos fkart.
        LOOP AT t_vbrp_c.
          t_vbrp = t_vbrp_c.
          APPEND t_vbrp.
        ENDLOOP.
        SORT t_vbrp.
      ENDIF.                                                    "KA01
    ENDFORM.                    " filter_invoice_data

    Hi Kumar,
    You should format your code before posting... I have done it and put it just below :
    PERFORM get_invoice_data.
    PERFORM filter_invoice_data.
    FORM get_invoice_data.
    SELECT k~vkorg k~vbeln k~fkart k~vtweg k~fkdat "CHOYT CHG#1589121
         k~waerk k~bzirk k~regio k~BSTNK_VF "Mod-010++
         p~posnr p~vkgrp p~vkbur p~mvgr5 p~matnr
         p~arktx p~fkimg p~vrkme p~netwr p~mwsbp
         p~aubel p~vgbel p~vgtyp p~charg p~werks k~fkart k~xblnr
      INTO CORRESPONDING FIELDS OF TABLE t_vbrp
      FROM vbrk AS k
      INNER JOIN vbrp AS p
       ON k~vbeln = p~vbeln
        WHERE k~vkorg IN s_vkorg "<< MOD CHOYT CHG#1589121
          AND k~fkdat IN s_fkdat AND k~vtweg IN s_vtweg
          AND k~rfbsk = 'C' " Accounting document has been created
          AND vkgrp IN s_vkgrp AND vkbur IN s_vkbur.
    ENDFORM. " get_invoice_data
    FORM filter_invoice_data.
    DATA lt_vbpa LIKE t_vbpa OCCURS 0 WITH HEADER LINE.
    IF NOT t_vbrp[] IS INITIAL. "Mod-004++
      REFRESH lt_vbpa.
      SELECT vbeln parvw kunnr FROM vbpa
        INTO CORRESPONDING FIELDS OF TABLE lt_vbpa
        FOR ALL ENTRIES IN t_vbrp
          WHERE vbeln = t_vbrp-vbeln
           AND posnr = '000000'. " Header partner
      SELECT vbeln parvw kunnr FROM vbpa
        APPENDING CORRESPONDING FIELDS OF TABLE lt_vbpa
        FOR ALL ENTRIES IN t_vbrp
         WHERE vbeln = t_vbrp-vbeln AND parvw = 'WE'. " Header partner
    ENDIF. "Mod-004++
    SORT lt_vbpa BY vbeln.
    t_vbpa[] = lt_vbpa[].
    " I believe that you have forget the following line, isn't it?
    LOOP AT t_vbrp.
    " ^^^^^^^^^^^^^^
      LOOP AT lt_vbpa WHERE vbeln = t_vbrp-vbeln
             AND parvw IN s_parvw
             AND kunnr IN s_kunnr.
        EXIT.
      ENDLOOP.
      IF sy-subrc 0.
        DELETE t_vbrp.
      ENDIF.
    ENDLOOP.
    IF c_prf = 'X'. "KA01
    " Are you sure you want to sort your internal table twice ???
      SORT t_vbrp DESCENDING BY posnr vbeln fkart. "KA01
      SORT t_vbrp DESCENDING BY vgbel fkart.
    " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    " I don't understand why you delete some lines in T_VBRP
    " that you after insert again in T_VBRP
    " (a sort change nothing to the content)???
      LOOP AT t_vbrp WHERE rfbsk NE 'C'.
    ...  " here I have skipped some lines
      ENDLOOP.
    " ^^^^^^^^^^^^^^^^^^^
      SORT t_vbrp.
    ENDIF. "KA01
    ENDFORM. " filter_invoice_data
    I have insert some remarks about your code : some lines seems strange! But for your question, what do you mean by batch splitting logic? Could you explicit? Thanks!
    Samuel

  • Batch classification logic

    whats the logic of a batch determination, if i have previously set-up a batch search strategy for FEFO (nomination based on SLED) if i havent put in any SLED in the batches of the material? system still nominates batches, even if a batch has no SLED but has a classification tab.

    Dear,
    Its depend upon the characteristics assign to the material and your search procedure (MBC1) selection condition and sort rule CU70.
    If you want to select the batch in FIFO criteria that is first in first out i.e. the batches that are received first will be selected, then
    Assign this to class
    Create sort sequence with ascending order
    Then create batch search strategy in MBC1 transaction
    Give the sort rule there
    Give the no. of batch splits as much as you want or just keep 999
    Then try doing the batch determination.
    Regards,
    R.Brahmankar

  • Multiple batch numbering in one client.

    Hi PP Gurus,
    We have a business scenario wherein more than one business exist. For clients pharma business then batch numering logi is different and for other businesses it is different.
    We have a proposal by which the Batch numbering at the time of Process order creation will be checked by User Exit about the existence of the batch key in manually.
    But for other business we want to keep Internal batch numbering with other User Exit.
    Can we have more than one kind of batch numbering; Internal & External both with different batch numbering logic?
    Thanks,
    Abu Arbab

    Hi Abu,
    For the movement type where the batch is getting generated, in customizing for Batch creation
    set it for Automatic / Manual check in USER EXIT. 
    Try this out & revert.
    Regards
    Mithun

  • Query on Batch Determination in Production Order

    Dear Gurus
    I have one query on batch determination in production order against the scenario given below, which need your help .
    We know that it is possible to allocate the same component batch to two concurrent production orders at the same time in SAP.  But as per the business requirement its not possible physically. So business want to update the batch selection logic to exclude the already allocated batch to any open production order.
    In my understanding it cant be done without any enhancement, but require your expert opinion before coming to any conclusion.
    If you have any idea to achieve the solution kindly let me know.
    Thanks

    Dear
    I am not sure whether you can change the Batch SELECTION logic  for concurrent production order .As far as I know batch selection is done on Batch search strategy /sort Rule
    Explore SAP Help : http://help.sap.com/printdocu/corePrint46c/en/data/pdf/LOBM/LOBM.pdf
    Refer this useful thead from expert :Userexit in Batch determination and external number ranges for batches
    Regards
    JH

  • Auto Populating of Batch number (AUPOD-CHARG)

    Dears,
    I am trying to populate the batch (field AUPOD-CHARG ) in the Process order under Tab "Goods Receipt", this needs to be picked default from the batch (field RESBD - CHARG ) which is under the BOM Item level in process order.
    Here the scenario is we have already created the BOM with line item having Batch information. The same now needs to be picked default in the Process order under Goods Receipt TAB.
    Please let me know if there is any way we can populate the AUPOD-CHARG filed default as mentioned above.
    Thanks & Regards,
    Viswanath

    Viswanath,
    I would suggest to create a custom program with a BDC to update the batch, the logic of the program should be to first select orders which are not populated with Batch Number in the Order table(selection can be restricted based on specific status), and then for every order pickup the respective component batch number from reservation table, once this data is available, within the program peform a call transaction CO02(BDC), to create and populate the batch number to the order.
    This Job can be run in background to the required frequency.
    Regards,
    Prasobh

  • Workflow as a Batch Scheduler

    Hi All,
    Can Workflow be used as a Batch Scheduler to replace a Unix/Cron system? Bit of a broad question but I am sure some out there have maybe tried.
    I hear that in theory it can be but I have heard of hanging problems and reliability issues.
    OWB is currently in use in the batch anyway and the business would like to have all the batch rules logic in the repository.
    Cheers
    Clive.

    Hi,
    Broad question, broad answer - yes it can.
    I guess it comes down to whether you want to use workflow, and what you actually want it to do. If may be better to have a series of cron jobs, or scheduled jobs using DBMS_JOB etc. than using Workflow, but it can be done.
    HTH,
    Matt
    WorkflowFAQ.com - the ONLY independent resource for Oracle Workflow development
    Alpha review chapters from my book "Developing With Oracle Workflow" are available via my website http://www.workflowfaq.com
    Have you read the blog at http://thoughts.workflowfaq.com ?
    WorkflowFAQ support forum: http://forum.workflowfaq.com

  • Trigger Question

    All,
    i have the need for a trigger (Insert/Update)
    on a person table.
    if INSERT
    -create log record with new account id, datetimestamp, 'INSERT', batch control code (used for batch processing later in evening)
    -check child table to see if person on inserted row is primary contact on any other account
    - if is, write another log record with account id, datetimestamp, 'INSERT', batch control code
    - if not ... no log record written
    if UPDATE
    - create log record with old account id, datetimestamp, 'UPDATE', batch control code (same as insert)
    - check child table to see if person on updated row is primary contact on any other account
    - if is, write another log record with account id, datetimestamp, 'UPDATE', batch control code
    - if not ... no log record written
    so the question ...
    what is best way to get this done? build array with account ids? use compound trigger? put this logic in procedure?
    also, the tables do in fact have other triggers for insert/update/delete for other batch processing logic... i know i will need to
    consolidate the triggers, or in fact set order of precedence/firing order...
    any/all examples, assistance will be much appreciated
      CREATE TABLE PERSON_NAME
       (PERSON_ID CHAR(10 BYTE) NOT NULL ENABLE,
         PERSON_SEQ NUMBER(3,0) NOT NULL ENABLE,
         PERSON_FULL_NAME VARCHAR2(254 BYTE) DEFAULT ' ' NOT NULL ENABLE,
         NAME_TYPE_FLAG CHAR(4 BYTE) DEFAULT ' ' NOT NULL ENABLE,
         VERSION NUMBER(5,0) DEFAULT 1 NOT NULL ENABLE,
         PRIMARY_NAME_FLAG CHAR(1 BYTE) DEFAULT ' ' NOT NULL ENABLE
    ALTER TABLE PERSON_NAME
    add CONSTRAINT PERSON_NAME_PK PRIMARY KEY (person_id, person_seq);
      CREATE TABLE ACCOUNT_PERSON
       (ACCOUNT_ID CHAR(10 BYTE) NOT NULL ENABLE,
         ACCOUNT_TYPE_CD CHAR(8 BYTE) DEFAULT ' ' NOT NULL ENABLE,
         BILL_ADDRESS_SOURCE_FLAG CHAR(4 BYTE) DEFAULT ' ' NOT NULL ENABLE,
         PERSON_ID CHAR(10 BYTE) NOT NULL ENABLE,
         MAIN_CUSTOMER_FLAG CHAR(1 BYTE) DEFAULT ' ' NOT NULL ENABLE
    ALTER TABLE ACCOUNT_PERSON
    add CONSTRAINT account_per_pk PRIMARY KEY (account_id, person_id);
      CREATE TABLE AUDIT_CHANGE_LOG                         --notes
       (CHANGE_LOG_ID NUMBER(14,0) NOT NULL ENABLE,                      --(sequence incrementing)
         BATCH_CD CHAR(8 BYTE) DEFAULT ' ' NOT NULL ENABLE,           --(batch program name ie, ACCOUNTEXTR)
         BATCH_NBR NUMBER(10,0) DEFAULT 0 NOT NULL ENABLE,            --(sequence, incrementing)
         CHANGE_DTTM DATE NOT NULL ENABLE,                     --(sysdate)
         CHANGE_TYPE_FLG CHAR(4 BYTE) DEFAULT ' ' NOT NULL ENABLE,           --('I','U','D' ... based on action from trigger)
         TABLE_NAME CHAR(30 BYTE) DEFAULT ' ' NOT NULL ENABLE,           --(ACCOUNT_PERSON ... table name of account id row
         VALUE VARCHAR2(50 BYTE) DEFAULT ' ' NOT NULL ENABLE          --(will be account id from account_person table)
    ALTER TABLE AUDIT_CHANGE_LOG
    add CONSTRAINT aud_chg_log_pk PRIMARY KEY (chg_log_id);
    create sequence chg_log_id_seq start with 1 increment by 1;
    create sequence batch_number_seq start with 1 increment by 1;
    notes:
    query i use to get all other accounts this person is primary contact to...
    select account_id from account_person
         where main_customer_flag = 'Y'
         and person_id = :old.person_id;
         there can/will be 1, > 1 account_person record per person_name
         i need to return all rows from account_person for inserted/updated
         person_id and write a row in the log table for every rows returned
    data...
    REM INSERTING into PERSON_NAME
    Insert into PERSON_NAME (PERSON_ID,PERSON_SEQ,PERSON_FULL_NAME,NAME_TYPE_FLAG,VERSION,PRIMARY_NAME_FLAG) values ('0000000000',1,'MAN,SUPER','PRIM',1,'Y');
    Insert into PERSON_NAME (PERSON_ID,PERSON_SEQ,PERSON_FULL_NAME,NAME_TYPE_FLAG,VERSION,PRIMARY_NAME_FLAG) values ('1111111111',1,'MAN,BAT','PRIM',1,'Y');
    Insert into PERSON_NAME (PERSON_ID,PERSON_SEQ,PERSON_FULL_NAME,NAME_TYPE_FLAG,VERSION,PRIMARY_NAME_FLAG) values ('2222222222',1,'POOH,WINNIE','PRIM',1,'Y');
    Insert into PERSON_NAME (PERSON_ID,PERSON_SEQ,PERSON_FULL_NAME,NAME_TYPE_FLAG,VERSION,PRIMARY_NAME_FLAG) values ('3333333333',1,'KNIGHT,DARK','PRIM',1,'Y');
    Insert into PERSON_NAME (PERSON_ID,PERSON_SEQ,PERSON_FULL_NAME,NAME_TYPE_FLAG,VERSION,PRIMARY_NAME_FLAG) values ('4444444444',1,'MAN,IRON','PRIM',1,'Y');
    COMMIT;
    REM INSERTING into ACCOUNT_PERSON
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('4959554698','MAIN','PREM','0000000000','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('8944554628','MAIN','PREM','1111111111','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('6004028091','SPOUSE','SECD','2222222222','N');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('6128590152','MAIN','PREM','2222222222','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('2927337778','MAIN','SECD','3333333333','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('6567720965','MAIN','SECD','3333333333','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('7552669404','MAIN','PREM','3333333333','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('0171010957','MAIN','PREM','4444444444','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('0563786136','MAIN','SECD','4444444444','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('0659340157','MAIN','SECD','4444444444','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('1535122320','MAIN','SECD','4444444444','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('2311398558','MAIN','SECD','4444444444','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('2549177955','MAIN','SECD','4444444444','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('3478276930','MAIN','SECD','4444444444','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('3935805714','MAIN','SECD','4444444444','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('5068179593','MAIN','SECD','4444444444','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('5328190241','MAIN','SECD','4444444444','Y');
    Insert into ACCOUNT_PERSON (ACCOUNT_ID,ACCOUNT_TYPE_CD,BILL_ADDRESS_SOURCE_FLAG,PERSON_ID,MAIN_CUSTOMER_FLAG) values ('9604517928','MAIN','SECD','4444444444','Y');
    COMMIT;
    --drop table PERSON_NAME;
    --drop table ACCOUNT_PERSON;
    --drop table AUDIT_CHANGE_LOGthanks in advance

    So share the solution with everyone so they can learn from your experience. That is what the forums are all about. Helping others.
    Please do your part.

  • *RUNLOGIC call executes sometimes, but not others

    Hi all,
    I hope someone has insight into this problem.
    I have 2 applications, Sales & CostCenter, that each feed data into a Consol app. In both Sales & CostCenter, I use *DESTINATION_APP (both in default logic, and in a batch-mode logic) to post the values to Consol. All of this works fine.
    I also need the currency conversion logic in Consol to be triggered automatically, every time there is an update. I use *RUNLOGIC to do this, as the last step of the update.
    // From CostCenter -- Run the Consol curr conv
    *RUNLOGIC
    *APP=CONSOL
    *LOGIC=CurrConvCostCenter
    *ENDRUNLOGIC
    // From Sales -- Run the Consol curr conv
    *RUNLOGIC
    *APP=CONSOL
    *LOGIC=CurrConvSales
    *ENDRUNLOGIC
    Both of the CurrConv* logic files exist in Consol (and are identical except for a slightly different XDIM_MEMBERSET selection, before *INCLUDE'ing the core CurrConv logic).
    There is only this one *RUNLOGIC command in either of the logics -- no nesting, no sequential execution.
    My problem: it works perfectly fine from CostCenter, but not from Sales.
    I can see in the CostCenter logic debug log the complete CurrConvCostCenter data selections. On the other hand, in the Sales logic debug log, the log ends with the posting of LC values to Consol.
    When I remove all the earlier steps from the Sales logic, I can see that the problem is related to the fact that Consol's entity dimension is called "Entity" and in Sales it is "EntitySls".
    --> "Invalid Dimension : EntitySls"
    I tried referencing the Entity dim as follows (as per the admin guide) -- didn't work.
    // From Sales -- Run the Consol curr conv
    *RUNLOGIC
    *APP=CONSOL
    *DIMENSION Entity = %ENTITY_SET%
    *LOGIC=CurrConvSales
    *ENDRUNLOGIC
    --> "Invalid Dimension : EntitySls"
    I also tried the following (based on the Destination_App syntax), hoping it was an undocumented savior -- didn't work.
    // From Sales -- Run the Consol curr conv
    *RUNLOGIC
    *APP=CONSOL
    *RENAME_DIM EntitySls=Entity
    *LOGIC=CurrConvSales
    *ENDRUNLOGIC
    --> "Invalid Instruction: *RENAME_DIM EntitySls=Entity"
    And I can confirm that both CostCenter & Consol use the same "Entity" dimension, so that's why it works in one case and not the other.
    Does anyone have a solution?
    Regards,
    Tim

    Thanks for the replies, guys.
    Joost, I tried a few more *DIMENSION options (both EntitySls and Entity) and none of these seem to work.
    Marcel, that workaround is certainly a creative approach! If it comes to that extreme, I may use this option. However, I did want to include this in the default logic of the Sales app. My other options are either to replace EntitySls with Entity (a pretty massive undertaking at this point -- it'd be nice if this limitation were documented in the admin guide...) or else have the users execute the logic manually as a batch process.
    In the meantime, I recreated this in ApShell & filed a message with Support.
    What was also odd about this is that, when the ONLY command in the logic file is the RUNLOGIC command, I get an error message about invalid dimension. But when there are other commands (such as *DESTINATION_APP to transfer data from sales to consol), those execute cleanly... and then there's no error message relating to the RUNLOGIC. So it was a bit of a challenge to identify the problem.
    I haven't tested this to see what other dimensions have this same limitation. My instict tells me it's only entity/category/time that need to have the same dimension names, but I'll certainly test that before I design another set of apps where I'll want to do this auto-synchronization.
    If anyone else has info on that point, I'd be grateful to hear more.
    Regards,
    Tim

  • Is it possible in XI?

    HI all,
    i have this requirement and i have to do in mapping,iam geting three feilds from legacy
    1) Plant
    2)Heat number
    3)Produced material   and combination of all this three feilds i will get Batch   
    the logic given below.
    Batch number for GR of finished bundles is derived by concatenating as below:
    1.Last six digits of the heat number
    2.An alphabetic identifier for the plant as: A = Plant 1200, B = 1300, C = 1400, D = 1500, E = 9300.
    3.Last three digits of the material number.
    plant and heatnumber are in header data,Material in ITEM data so material will be more and repleating
    now how to write this code in UDF please tell me
    Regards,
    Phani

    Phani,
    Could you give us the source and target structure? B'coz only with ur reqmt, it's not possible to suggest. We don't know how many time Batch GR field needs to occur in target. So give the structure, occurrence with sample data populated on it.
    Thanks for understanding.
    Best regards,
    raj.

  • Query on Backend Plug-In

    Hi All
    It is suggested in the MAM configuration guide that the backend should have "Plug-In 2004.1 SP01” .If there is any new version of the Plug-In that can fit here then please suggest me that.
    Thanks
    Gopi

    Dear
    I am not sure whether you can change the Batch SELECTION logic  for concurrent production order .As far as I know batch selection is done on Batch search strategy /sort Rule
    Explore SAP Help : http://help.sap.com/printdocu/corePrint46c/en/data/pdf/LOBM/LOBM.pdf
    Refer this useful thead from expert :Userexit in Batch determination and external number ranges for batches
    Regards
    JH

  • Question on LGF/LGX - Validation

    Hello Experts,
    From my understanding, There is LGF (logic file) which is being "compiled" into LGX (logic with all the parameters from database as per SELECT statements). We get LGX file by "Validate and Save" in the application.
    Is there any way to automate this?
    In the "Admin Task" SSIS  task there is "Validate" option - would it also produce LGX with fresh parameters? Is there is an option when you run logic to use LGF and automatically compile it to LGX with refreshed data?
    Please keep in mind that I'm not BPC application user and it is new to me.
    Thanks in advance,
    Akim

    Hi Akim,
    I'm not sure why you would need to automate this, as part of an administrative batch process.
    I would either validate logic when I'm developing it -- manually, via the admin consol -- or else I'd want it to be validated each time a user runs it, which can be done for batch-mode logic operation by calling the Logic.LGF file (instead of the Logic.LGX file) in the LOGICFILE parameter of the "advanced" script modification in the eData -> Organize Package List setup in Excel.
    The second option allows you to take selections from the user's current view, and pass them into the *SELECT statetments and other parts of the logic file, to control the logic execution.
    This second option, however, does not actually update the LGX file in the AdminApp\Application directory. The LGF file is validated, and the results are (I assumed) stored somewhere in the logic engine's memory on the app server, but not stored in an LGX file anywhere. (In fact, if you call the LGF file from the package, you can delete the LGX file entirely, with no ill effects.)
    Note that this validation-at-run-time option is not available for default logic. This limits the flexibility of what you can do in default logic, compared to batch-mode logic.
    But to answer your question directly -- I have seen that "validate logic" admin task, but I've never used it. As a practical matter, the logic should validate exactly the same when it's run as part of this admin package, as when you run it manually from the admin console. So I'm not sure what benefits that admin task would give.
    And at least in BPC 5.1, the logic validation itself -- and the error messages that it does and does not provide -- is limited at best. It checks the syntax but it oftens misses critical flaws in the logic, that you'll only discover by either (1.) scanning through the LGX file carefully, or (2.) running the logic and analyzing the debug logs.
    Hope that helps,
    Tim

  • Re: production booking

    Can anyone tell me How or where to book/capture
    1.Shift end production for a batch running continuously for months.
    2.Shift end production for each machine resource
    3.If possible shift end production against each operating personnel
    These details demanded by client to calculate incentives for operators and to monitor the machine performance.
    thanks in advance
    anirudh

    Hi Anirudh
    OPM is a batch based reporting. As a solution my suggestion is to treat each shift as one batch with logic built into the batch numbering (XXX-01) to find out all the batches created in OPM in reality belonging to each batch or by a DFF at the batch header level to track. Once in batch based you can capture any and all information. Regarding the operation personnel I am not sure of the same. Becaue you want reporting by both machine and resource wise. May be you can capture resource wise in the system as step quantity and personnel wise in a customized table (captured via the zoom functionality). Ofcourse the reports would have to be built to view all this data
    Thanks and Regards,
    Girish

  • Change available quantity for Sales Order line during ATP control

    Hello,
    When sales order is created and item line is entered I need change available quantity for material. I mean not ATP quantity but available quantity (MCHB-CLABS for material/plant - I need remove some batches from logic)
    Could you tell me when I could add my enhancement for above purpose?
    Thanks in advance,
    E

    Did you try the assignment (Enhancement) ATP00001?

Maybe you are looking for

  • Balance not carried forward when changing fiscal year in Report Painters

    Hello guys, Im using report painter (FGI3) to create my financial statement report, when i change to fiscal year 2009, the balance in my balance sheet is not carried forward to year 2009, its only shows the the movement. Assume, the total asset in de

  • Checking filename length in File Browse item before uploading

    I have a File Browse item from which users can upload files into the database. Within APEX, the file metadata and content first get uploaded into the view WWV_FLOW_FILES. By design apparently, the underlying table for this view has a NAME field which

  • Deleting Virtual Copies From Library, Burning Collections & Part of Library

    Hello! I am new to this software; I have LR 2.0 From the library, I selected/highlighted the photos that I wanted to put into a new collection, then clicked the plus symbol above "Collections." I was then asked if, when putting the selected photos in

  • Launch vhd from within WIN 8's hyper v management

    I have two systems in my IT admin office. One running Win 7 pro and one running Win 8.1. I would like to run Windows backup on the Win 7 PC and allow it to create an image in a vhd file. At that time, I want to copy that WIN 7 vhd to my win 8 pc, lau

  • Unable to install CS5.5.2 update

    I am unable to install the CS5.5.2 update for premiere pro. The updater shows two updates available, and wierdly both are the same update CS5.5.2 for premiere pro. If I proceed to install them, it prompts for my admin user password on my mac. When I