cancel
Showing results for 
Search instead for 
Did you mean: 

Transfer posting and Certificate of Analysis (BWUL)

krishg
Active Participant
0 Kudos

We are having huge performance issue when we issue Certificate of analysis output. We can turn off the Stock transfer flag on the certificate profile (QC02 -> Materials -> Stock transfer flag QCVK-WITHTRANSF) and it will pretty much improve the performance dramatically (BWUL skips the transfer orders).

Users are not comfortable about turning off this flag and I wanted to find out if there is any downside to turning off this flag on certificate profiles? What would be the scenario in which this information will be required for printing COA?

Accepted Solutions (1)

Accepted Solutions (1)

former_member42743
Active Contributor
0 Kudos

The BWUL for the certificate profile is used when you need to obtain results from the predecessors in to the finished material.  I.e. if you perform testing on a primary raw material and this value is what is printed on the COA then you require the BWUL. If you test all for all values on the final batch, or the results are populated via inspection results copy or batch derivation to the final batch record or inspection lot, then you shouldn't have an issue.

Are you specifying materials in the list?  If you aren't getting values from them why are you even populating the list? 

If you are populating the list, and getting values from the predecessors, then you can still remove the flag as long as all the required testing is done in the plant the finished good is being shipped from.  If you ship from distributors or warehouses, you'll still need this.  Unless all the results come from only the batch record (not inspection lots) and you are not at the plant/batch level.

I hope that is all clear.  It can be confusing!!

FF

krishg
Active Participant
0 Kudos

Firefighter

Thank you for the reply.

I am relatively new to this process and got roped in when performance was very bad. so my knowledge of COA is very limited and lot of business / Functional inherited the system (so they are not familiar as well and are little afraid to make the changes).

I have asked the users if the information from BWUL is printed and I have not gotten a clear reply. When I looked at other COA's, I do not see the BWUL list or material list in the COA (except for the top level material). When I look at the code in debug mode, I noticed that results from BWUL is pretty much limited to the materials listed on the characteristic level (Subroutine PRECURSORS_EXPLODE_WITH_FILTER

Includee LQC02F03). As you can see in this subroutine (results from BWUL is compared with materials listed in the certificate profile) and only the batches for the matching materials are selected.

Regards

Krish

former_member42743
Active Contributor
0 Kudos

The setting to choose the results from the production chain is at the characteristic level.  But the list of materials to consider for the results come from the material list.  My understanding is that just choosing the choice "from production chain" will not function if you don't list materials in the materials in the materials list.

The BWUL and material is never printed on COA's.  This functionality is ONLY to get results from earlier in the production chain.

Let's make this even more basic:  Do all the results you print/provide on the COA appear in the batch characteristics for the material being reported on? If so then there is NO need for the material list or the BWUL, or the stock transfer flag because you have no need to get results from the predecessor materials.

FF

krishg
Active Participant
0 Kudos

Hi Firefighter,

Thank you for your answer... It was interesting reading... And your answers along with going through the QC02_INSP_CHAR_SPECS_BEFORE provided more understanding.

Technically, this is how the above FM (which is called during COA generation for QM Certificates (QMMaster Inspection characteristic , QCVM-KATEGORIE = '1') work... This FM calls the BWUL (and BWUL results are exploded based on the control parameters including the explosion level set at certificate profile and Stock transfer flag). The batch explosion FM keeps finding the source for the batch (CHVW table). When the stock transfer flag is turned off, Batch explosion is stopped as soon as the source of the batch hits the Purchase Order.  This FM returns all the source batches pertaining to input material, plant and batch (based on control parameter).

BWUL List is filtered based on the materials in the material list (on the certificate profile). This results set provides the batches. In example, my certificate profile had 5 materials (One of the materials in the list was actually a component of the first material). My BWUL had returned 2 batches for Material 'X' and its component Material 'Y' (both of which were in the certificate profile) and was selected.

The FM QC02_INSP_CHAR_SPECS_BEFORE,  takes above list of batches and checks if there is an inspection lot results for first batch and input characteristics. If it finds the characteristic level, it does not look at the second batch. If it does not find the inspection lot /results for the first batch, it goes onto the next batch.

In my example scenario, the batch on source material itself had the inspection lot results (for all the characteristics) and it did not require to go down further batches (as you had indicated in your previous post).

Now I need to check with business how they have set up their inspection process (Is this something typically configured at material level or is this user discretion)? 

former_member42743
Active Contributor
0 Kudos

Also, as a heads up with regard to performance.  This is also directly impacted by the number of characteristics listed in the COA profile.  Many places have an annoyingly bad habit of putting many, many characteristics on the COA and marking them as Optional. If they have a value, they print. If they don't have a value, the characteristics doesn't print.  This of course can result in errors.

Another issue I've found is that some places copy one COA profile to another and the profile has all the characteristics in it.  They mark the ones they need for that material(s) as required and the rest as optional.  It only errors if the required ones fail.  If there is data for the other characteristics, that data prints too.  Again.. not a good practice.

As far as their inspection process, it really depends on how the business set up QM.  Usually once an approach is selected, the business follows that one model.  I'd have no idea how your business works.

My own preference with regard to COA's is to report the values and specs from the batch record. I try not to report from inspection lots or use the COA production chain process at all. 

I try to, when ever possible, to get the data for the finished good into the batch record of the finished good.  Often time the inspection results copy functionality or batch derivation functionality, (or both), can be used to accomplish that.

FF

krishg
Active Participant
0 Kudos

Thank you, Firefighter for your response.  You have been very patient and helpful. I am still waiting on business to confirm that inspection is always done on the top level material (batch) and hope that it is that way.

In my example, there were only 4 characteristics.

In case the business comes back with negative answer (indicating that inspection is carried out on the raw materials and not the top level material), My only alternative is to explode the material (not the batch) and identify all its components and sub components. Compare the components and original material against the materials in characteristic profile and find the lowest matching level. Using the user exit called before batch explosion FM, set the explosion level to the lowest matching level. Do you think such a solution is feasible?

In the meantime, I wish SAP used a different programming technique. SAP has basically mandated that BWUL done once (based on the control parameter) and then use the results. In hindsight, SAP could have retrieved one batch at a time and then compared the characteristics against that Batch. If the characteristics were not found, then explode the batch to next level and do the comparison again. I know it is probably a more complicated programming, but it would have given maximum value. Exploding the BWUL to its lowest level (when we require only the materials listed on the characteristics level) is not smart programming.

former_member42743
Active Contributor
0 Kudos

It sounds like you are contemplating a programming solution.  Hopefully NOT in a customized COA program!!!    Please see my blog:

http://scn.sap.com/community/erp/operations-qm/blog/2012/02/10/coa-programs--why-are-they-being-chan...

I would encourage you to have the users place a limit on the Explosion Level in the material list of the COA profile.  In the vast majority of applications this should be 1,2 or 3.  Usually there is not an actual need to go back further.  But the users should be able to provide a value.  You do not want to leave this blank.  Especially if you use any type of silo's or tanks as for your raw or intermediate materials.  These types of materials typically have an infinite BWUL list since often times the heel left in the silo or tank is included into the new batch when a tank or silo is refilled.  After a few years in production, the BWUL might be several hundred levels deep.  The COA profile has a bulit in max of 90.  But this might be the reason why you are now seeing a performance problem and why you didn't before.

FF

krishg
Active Participant
0 Kudos

Especially if you use any type of silo's or tanks as for your raw or intermediate materials.

You got it perfectly right.. We have that exact same scenario!!! and all those materials are not even listed in the characteristic profile (Wish SAP had some kind of logic to skip those)

I read your blog and in our case, "horses have bolted many years past".. I wish it was not the case. and in my case (all of your doomsday scenarios are true like upgrade changes not being in sync, etc)

My proposed  programming changes would go into BADI QC_QMOCERT_CREATE (called before the batch explosion ) and can be used to set the explosion level. This is only if the users don't agree to turning off stock transfer flag or setting the explosion levels to '2' or '3'.

As far as the programing solution, I am hoping to avoid and it would be a last resort as well (when business/users can prove that they need it by showing missing characteristics when stock transfer flag is turned off and with lower explosion levels).   Unfortunately, our custom program currently does not use that explosion level, so I may end up needing to change the code 😞

My custom program says,

MOVE g_cert-qcvk-withtransf TO l_document_data-withtransf.

While the standard version,

   MOVE-CORRESPONDING g_cert-qcvk TO l_document_data.

I have to find all my driver programs and make the appropriate change and may be a rewrite due to upgrade 😞

former_member42743
Active Contributor
0 Kudos

I know it's a very difficult project to undertake, but if you have an upgrade coming up, you might want to make a case for returning to and using the standard COA program.  It is NOT easy!  But if you point out the cost of the changes you are making now, and the possible future implications, it might be something you can sell.  It would make for a more stable and supportable system for the future.

You have to look at the main program and all the sub programs and compare them against the current SAP standard.  Then determine why each difference is there and what it is for. Then you have to see if how, using the standard COA program, you would accomplish the same thing.  Such as maybe creating a new function module for selecting specs.

Once you have a list of all the required changes, a proposed solution,  and an estimate for doing the work for each item, you work on getting folks to buy into it.  If you have sub-program mods, I'd tackle these one by one until you get back to using all the standard SAP subprograms.  Then tackle the main program.  It's a project that might take you a year or more to accomplish.

FF

Answers (0)