× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



From Al Macintyre with BPCS 405 CD on AS/400 mixed mode
Some stuff is version specific so reminding the community what version of 
BPCS you are on may be constructive & perhaps even mention which application 
modules you using.
I hope you find some of my comments to be helpful.

http://archive.midrange.com/bpcs-l/index.htm
BPCS_L archives go back several years & comes with a search engine ... I just 
mentioning in case that is not what you mean by reviewing past digests.

Today we live in a reality in which many users connect to BPCS via PCs which 
are notoriously subject to going down in the middle of access to BPCS far 
more so than twinax connections.  This means that some work can be corrupted. 
 Sometimes the users communicate with MIS in sufficient detail that we can 
fix damage from a disruption.  Sometimes not.  This means that past 
interruptions can create "hung batches" of data that are like time bombs 
waiting to cause trouble the next time someone running the same kind of work 
from that session address.

We recently added a query/400 to list all the data in the WORK member of FLT, 
sequenced by work station & date, so that we could clean up one particular 
kind of time bomb, that we call "orphan batches."  I suspect there is some 
similar kind of scenario in the data stream into billing.  I just have not 
reverse engineered it yet.

We wrote query/400 to list all current orders that are in the IN USE status 
for customer orders and purchase orders.  We run that report periodically ... 
it is in a string of jobs involved in our weekly reorg for example.  It is an 
MIS responsibility in the evening after everyone gone for the day, to use 
STRDFU with relevant logical to take out of in use anything from the day's 
mishaps, except our rate of mishap in this department is such that we can 
trust our users to report this kind of mishap so a weekly check sufices.

I figured out where it is in work station members that BPCS stores the status 
of batches in progress & wrote a collection of programs that IBM dump object 
to *OUTFILE then RPG program to print them in a chart with control break on 
application with *** marking at side when pattern changes, then I use SYS993 
to decipher what the differences imply & add clues to my RPG program in 
essence illuminating session addresses needing adjustment by application.  It 
is also a good review which users are on which JOBQ since we want some 
applications to be sharing the same single threaded JOBQ.

Be sure to check all the stuff on the BPCS reorg menu ... option 23 from SYS 
menu, in concert with relevant documentation on the correct sequence to run 
this stuff.  We copied many of these to our own SYSC menu for reorg in the 
sequence we use, and to FXS menu for fixes like SYS993C and SYS013C.  I have 
not seen any BPCS reports on lists of messed up stuff & have written quite a 
few of my own, as have several users with access to query/400 definitions.

In fact we have a huge volume of queries that list various different kinds of 
suspicious circumstances such as customer orders with no price, orders whose 
price disagrees with the master list price, orders whose price is less than 
standard cost plus 15%, all items that have a negative cost ingredient, so I 
am now working on a BPCS file list that for each file gives statistics from 
an IBM *OUTFILE then uses SQL to get some counts of contents in various 
categories.  My end goal is one report that lists all current problems in 
need of clean up.

You are talking about fields that should be at a particular value on the eve 
of billing.  Some values might not be correct because some previous step has 
not yet been taken to a proper conclusion & for us to be doing some kind of 
forcing of data ready for a step might corrupt what is supposed to be done at 
that prior step.  We found it constructive to get at charts of what the 
status codes mean in customer & shop orders for reference by people 
developing query/400 reports & general troubleshooting & also 400 to CA 
spread sheets.

My feeling is that when there is a problem with BPCS data getting corrupted, 
if we develop programs to force the data to be correct, there will be a 
temptation to never fix the problem that is getting the data corrupted in the 
first place.  There are times that that is exactly what the company wants.  
Just make sure management is aware that this is what we are doing ... letting 
data be trashed, and having some fix-it programs repair damage, without 
resolving what continues to cause damage.

In any listing of orders suspected of being corrupted, it might be useful to 
include what TYPE of order is involved, so for example one of the categories 
of orders we have managed to mess up is how we do resupply orders.  We know 
exactly how we have managed to mess them up & it is a management decision to 
continue to do so & use certain fix-it programs to clean up the mess we 
continue to create ... I just have not yet got a round TUIT on writing all of 
those programs.  But that leaves various other messed up orders in other 
categories & there was one category that I got approval a few weeks ago to 
just wipe them out, but we only wiped out the orders that were bad within one 
category.

Some pointers on query/400.  We have given access to the creation of query 
definitions to our general users who sometimes not appreciate some nuances of 
this language & how OS/400 runs queries.

1. The logical that you use in the query definitions only tells the query 
what physical file to use.  Depending on your selection & sort criteria, the 
query optimizer of OS/400 will use the best logical it can find in a 
reasonable time period to execute your query efficiently.  Depending on 
complexity of your data, OS/400 will not take all day about it, making best 
guess in which your logical will be included as a suggestion.  Thus it is 
imperative to do selection criteria that excludes records not relevant to 
your query & not depend on the logical's definition to do that for you.

2. You need to be particularly careful in matching files.  The example I 
often use for my people ... suppose you have a query of shop floor efficiency 
over FLT labor history transactions & you link to CEM to get employee name on 
the report & let's suppose some employee is no longer working for us & has 
been purged from the file, the labor reported by that person will not appear 
on your report because only what you have matched is to be listed.  No match, 
no data on query.

MacWheel99@aol.com (Alister Wm Macintyre) (Al Mac)
AS/400 Data Manager & Programmer for BPCS 405 CD Rel-02 mixed mode (twinax 
interactive & batch) @ http://www.cen-elec.com Central Industries of 
Indiana--->Quality manufacturer of wire harnesses and electrical 
sub-assemblies - fax # 812-424-6838

>  From:    cmassoglia@voyager.net

>  We have a number of invoices which appear to be hung.  From looking in
>  the BPCS Midrange-L digest, we found the following:
>  
>  Check all the following fields, if you have plenty of orders that do
>  not show up for billing then the cause could be in a load shared for
>  all these orders. Check also the loads for the orders.
>  
>   ECH record:
>      HINUSE field should be blank.
>  
>   BBH record:
>      1) BHID field (Record ID) should be in BH status.
>      2) BHDOCN field(Document Number) should be blank.
>      3) BHWSID (Workstation ID) should be blank.
>  
>   BBL record.
>      1) BLID (Record Status) should be BL.
>      2) BSTAT field (Invoice Status) should be blank.
>      3) BLLOAD (Load Number) should be the correct load number that the
>  order is currently attached to.
>      5) BLSTS3 (Ready for Ship Confirm)field should have a value of 0.
>      6) The BLSTS4 (Ready for Invoicing) field should have a value of 1.
>      7) BLWSID (Workstation ID) field should be blank.
>  
>   LLM Record :
>      LMSTAT (Load Status) should have a value of 3.
>  
>   LLH Record :
>      LHSTAT (Load Status) should have a value of 3.
>  
>   LLX Record:
>      LXSTAT (Load Staus) should have a value of 3.
>  
>  Is there a way we can just write a program to fix records using logic
>  as shown above or should we only attempt to fix the invoices records
>  we know are hung?  Also, is there a report we can run to provide us a
>  list of the invoices which appear to be hung?
>  
>  Thanks in advance.


+---
| This is the BPCS Users Mailing List!
| To submit a new message, send your mail to BPCS-L@midrange.com.
| To subscribe to this list send email to BPCS-L-SUB@midrange.com.
| To unsubscribe from this list send email to BPCS-L-UNSUB@midrange.com.
| Questions should be directed to the list owner: dasmussen@aol.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.