Na Regra de Horário de Trabalho (V_T508A), utilizamos um campo não utilizado (M2STD) para armazenar o %. Note que todos os outros campos de "Tempo de Trabalho" são preenchidos como se o funcionário estivesse a 100%.
Na tabela PA0007, nosso recurso ABAP criou 2 campos adicionais, um para conter o % proveniente de V_T598A, e outro para conter o número de horas por período de pagamento.
Ao criar o IT0007 dos funcionários, o WSR "Especial" é inserido sem indicação de que o funcionário é "meio período" além da descrição do WSR.
Ao salvar o IT0007, o sistema primeiro preenche os 2 campos adicionais com base na Regra de Horário de Trabalho. O % é retirado do campo
V_T508A-
M2STD, enquanto o número de horas por período é a multiplicação das Horas Diárias de Trabalho (V_T508A-TGSTD) pelo número de dias úteis no Período de Pagamento pelo % do outro Campo Personalizado.
Através do código ABAP, então é criado um IT0008 com a mesma Data de Início e com os Dados dos 2 Campos Personalizados do IT0007.
Para cada Agrupamento de ESG, estávamos limitados a 8 Horários de Trabalho Diários "Especiais", pois aproveitamos a Classe de Horário de Trabalho Diário não utilizada para criar Regras de Dedução de Ausências que permitiam que um dia de Ausência impactasse na Cota baseada no Horário de Trabalho Diário.
Muito trabalho, muitas limitações, mas o resultado foi algo que atendeu às nossas necessidades.