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
-
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 DachawarDear 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 -
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_dataHi 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 -
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 ArbabHi 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.
ThanksDear
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,
ViswanathViswanath,
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 -
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 -
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 advanceSo 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,
TimThanks 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 -
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,
PhaniPhani,
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. -
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
GopiDear
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,
AkimHi 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 -
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
anirudhHi 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,
EDid 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